<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html><head>
<title>Static Call Graph - [.\output\obj\..\project.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image .\output\obj\..\project.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060750: Last Updated: Wed May 26 21:12:54 2021
<BR><P>
<H3>Maximum Stack Usage =       1464 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
rx_thread &rArr; commands_process_packet &rArr; terminal_process_string &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
<P>
<H3>
Functions with no stack information
</H3><UL>
 <LI><a href="#[7f]">_port_exit_from_isr</a>
</UL>
</UL>
<P>
<H3>
Mutually Recursive functions
</H3> <LI><a href="#[8b]">_idle_thread</a>&nbsp;&nbsp;&nbsp;&rArr;&nbsp;&nbsp;&nbsp;<a href="#[8b]">_idle_thread</a><BR>
</UL>
<P>
<H3>
Function Pointers
</H3><UL>
 <LI><a href="#[b]">BusFault_Handler</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[12]">DebugMon_Handler</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[9]">HardFault_Handler</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[a]">MemManage_Handler</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[8]">NMI_Handler</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[14]">PendSV_Handler</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[7]">Reset_Handler</a> from cstartup.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[11]">SVC_Handler</a> from chcore_v7m.o(i.SVC_Handler) referenced from vectors.o(RESET)
 <LI><a href="#[15]">SysTick_Handler</a> from st_lld.o(i.SysTick_Handler) referenced from vectors.o(RESET)
 <LI><a href="#[c]">UsageFault_Handler</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[46]">Vector100</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[47]">Vector104</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[48]">Vector108</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[49]">Vector10C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[4a]">Vector110</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[4b]">Vector114</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[4c]">Vector118</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[4d]">Vector11C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[4e]">Vector120</a> from stm32_dma.o(i.Vector120) referenced from vectors.o(RESET)
 <LI><a href="#[4f]">Vector124</a> from stm32_dma.o(i.Vector124) referenced from vectors.o(RESET)
 <LI><a href="#[50]">Vector128</a> from stm32_dma.o(i.Vector128) referenced from vectors.o(RESET)
 <LI><a href="#[51]">Vector12C</a> from stm32_dma.o(i.Vector12C) referenced from vectors.o(RESET)
 <LI><a href="#[52]">Vector130</a> from stm32_dma.o(i.Vector130) referenced from vectors.o(RESET)
 <LI><a href="#[53]">Vector134</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[54]">Vector138</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[55]">Vector13C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[56]">Vector140</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[57]">Vector144</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[58]">Vector148</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[59]">Vector14C</a> from usb_lld.o(i.Vector14C) referenced from vectors.o(RESET)
 <LI><a href="#[5a]">Vector150</a> from stm32_dma.o(i.Vector150) referenced from vectors.o(RESET)
 <LI><a href="#[5b]">Vector154</a> from stm32_dma.o(i.Vector154) referenced from vectors.o(RESET)
 <LI><a href="#[5c]">Vector158</a> from stm32_dma.o(i.Vector158) referenced from vectors.o(RESET)
 <LI><a href="#[5d]">Vector15C</a> from uart_lld.o(i.Vector15C) referenced from vectors.o(RESET)
 <LI><a href="#[5e]">Vector160</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[5f]">Vector164</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[60]">Vector168</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[61]">Vector16C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[62]">Vector170</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[63]">Vector174</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[64]">Vector178</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[65]">Vector17C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[66]">Vector180</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[67]">Vector184</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[68]">Vector188</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[69]">Vector18C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[6a]">Vector190</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[6b]">Vector194</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[6c]">Vector198</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[6d]">Vector19C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[6e]">Vector1A0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[6f]">Vector1A4</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[70]">Vector1A8</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[71]">Vector1AC</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[72]">Vector1B0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[73]">Vector1B4</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[74]">Vector1B8</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[75]">Vector1BC</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[d]">Vector1C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[e]">Vector20</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[f]">Vector24</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[10]">Vector28</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[13]">Vector34</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[16]">Vector40</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[17]">Vector44</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[18]">Vector48</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[19]">Vector4C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[1a]">Vector50</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[1b]">Vector54</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[1c]">Vector58</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[1d]">Vector5C</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[1e]">Vector60</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[1f]">Vector64</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[20]">Vector68</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[21]">Vector6C</a> from stm32_dma.o(i.Vector6C) referenced from vectors.o(RESET)
 <LI><a href="#[22]">Vector70</a> from stm32_dma.o(i.Vector70) referenced from vectors.o(RESET)
 <LI><a href="#[23]">Vector74</a> from stm32_dma.o(i.Vector74) referenced from vectors.o(RESET)
 <LI><a href="#[24]">Vector78</a> from stm32_dma.o(i.Vector78) referenced from vectors.o(RESET)
 <LI><a href="#[25]">Vector7C</a> from stm32_dma.o(i.Vector7C) referenced from vectors.o(RESET)
 <LI><a href="#[26]">Vector80</a> from stm32_dma.o(i.Vector80) referenced from vectors.o(RESET)
 <LI><a href="#[27]">Vector84</a> from stm32_dma.o(i.Vector84) referenced from vectors.o(RESET)
 <LI><a href="#[28]">Vector88</a> from irq_handlers.o(i.Vector88) referenced from vectors.o(RESET)
 <LI><a href="#[29]">Vector8C</a> from can_lld.o(i.Vector8C) referenced from vectors.o(RESET)
 <LI><a href="#[2a]">Vector90</a> from can_lld.o(i.Vector90) referenced from vectors.o(RESET)
 <LI><a href="#[2b]">Vector94</a> from can_lld.o(i.Vector94) referenced from vectors.o(RESET)
 <LI><a href="#[2c]">Vector98</a> from can_lld.o(i.Vector98) referenced from vectors.o(RESET)
 <LI><a href="#[2d]">Vector9C</a> from irq_handlers.o(i.Vector9C) referenced from vectors.o(RESET)
 <LI><a href="#[2e]">VectorA0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[2f]">VectorA4</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[30]">VectorA8</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[31]">VectorAC</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[32]">VectorB0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[33]">VectorB4</a> from irq_handlers.o(i.VectorB4) referenced from vectors.o(RESET)
 <LI><a href="#[34]">VectorB8</a> from icu_lld.o(i.VectorB8) referenced from vectors.o(RESET)
 <LI><a href="#[35]">VectorBC</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[36]">VectorC0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[37]">VectorC4</a> from i2c_lld.o(i.VectorC4) referenced from vectors.o(RESET)
 <LI><a href="#[38]">VectorC8</a> from i2c_lld.o(i.VectorC8) referenced from vectors.o(RESET)
 <LI><a href="#[39]">VectorCC</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[3a]">VectorD0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[3b]">VectorD4</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[3c]">VectorD8</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[3d]">VectorDC</a> from uart_lld.o(i.VectorDC) referenced from vectors.o(RESET)
 <LI><a href="#[3e]">VectorE0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[3f]">VectorE4</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[40]">VectorE8</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[41]">VectorEC</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[42]">VectorF0</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[43]">VectorF4</a> from vectors.o(.text) referenced from vectors.o(RESET)
 <LI><a href="#[44]">VectorF8</a> from irq_handlers.o(i.VectorF8) referenced from vectors.o(RESET)
 <LI><a href="#[45]">VectorFC</a> from stm32_dma.o(i.VectorFC) referenced from vectors.o(RESET)
 <LI><a href="#[77]">__main</a> from entry.o(.ARM.Collect$$$$00000000) referenced from cstartup.o(.text)
 <LI><a href="#[8b]">_idle_thread</a> from chsys.o(i._idle_thread) referenced from chsys.o(i.chSysInit)
 <LI><a href="#[7f]">_port_exit_from_isr</a> from chcoreasm_v7m.o(.text) referenced from chcore_v7m.o(i._port_irq_epilogue)
 <LI><a href="#[7e]">_port_switch_from_isr</a> from chcoreasm_v7m.o(.text) referenced from chcore_v7m.o(i._port_irq_epilogue)
 <LI><a href="#[8c]">_port_thread_start</a> from chcoreasm_v7m.o(.text) referenced from chthreads.o(i.chThdCreateI)
 <LI><a href="#[79]">_sbackspace</a> from _sgetc.o(.text) referenced from __0sscanf.o(.text)
 <LI><a href="#[7a]">_scanf_char_input</a> from scanf_char.o(.text) referenced from scanf_char.o(.text)
 <LI><a href="#[78]">_sgetc</a> from _sgetc.o(.text) referenced from __0sscanf.o(.text)
 <LI><a href="#[7c]">_snputc</a> from printfa.o(i._snputc) referenced from printfa.o(i.__0vsnprintf)
 <LI><a href="#[c0]">_usb_ep0in</a> from usb.o(i._usb_ep0in) referenced from usb_lld.o(.constdata)
 <LI><a href="#[c1]">_usb_ep0out</a> from usb.o(i._usb_ep0out) referenced from usb_lld.o(.constdata)
 <LI><a href="#[bf]">_usb_ep0setup</a> from usb.o(i._usb_ep0setup) referenced from usb_lld.o(.constdata)
 <LI><a href="#[80]">adc_thread</a> from app_adc.o(i.adc_thread) referenced from app_adc.o(i.app_adc_start)
 <LI><a href="#[8f]">cancom_process_thread</a> from comm_can.o(i.cancom_process_thread) referenced from comm_can.o(i.comm_can_init)
 <LI><a href="#[8d]">cancom_read_thread</a> from comm_can.o(i.cancom_read_thread) referenced from comm_can.o(i.comm_can_init)
 <LI><a href="#[8e]">cancom_status_thread</a> from comm_can.o(i.cancom_status_thread) referenced from comm_can.o(i.comm_can_init)
 <LI><a href="#[7d]">chCoreAlloc</a> from chmemcore.o(i.chCoreAlloc) referenced from chheap.o(i._heap_init)
 <LI><a href="#[82]">chuk_thread</a> from app_nunchuk.o(i.chuk_thread) referenced from app_nunchuk.o(i.app_nunchuk_start)
 <LI><a href="#[94]">detect_thread</a> from commands.o(i.detect_thread) referenced from commands.o(i.commands_init)
 <LI><a href="#[ba]">get</a> from serial_usb.o(i.get) referenced from serial_usb.o(.constdata)
 <LI><a href="#[b5]">get_descriptor</a> from comm_usb_serial.o(i.get_descriptor) referenced from comm_usb_serial.o(.constdata)
 <LI><a href="#[bc]">gett</a> from serial_usb.o(i.gett) referenced from serial_usb.o(.constdata)
 <LI><a href="#[9a]">i2c_lld_serve_rx_end_irq</a> from i2c_lld.o(i.i2c_lld_serve_rx_end_irq) referenced from i2c_lld.o(i.i2c_lld_start)
 <LI><a href="#[9b]">i2c_lld_serve_tx_end_irq</a> from i2c_lld.o(i.i2c_lld_serve_tx_end_irq) referenced from i2c_lld.o(i.i2c_lld_start)
 <LI><a href="#[1]">icuperiodcb</a> from servo_dec.o(i.icuperiodcb) referenced 2 times from servo_dec.o(.data)
 <LI><a href="#[0]">icuwidthcb</a> from servo_dec.o(i.icuwidthcb) referenced 2 times from servo_dec.o(.data)
 <LI><a href="#[ab]">inotify</a> from serial_usb.o(i.inotify) referenced from serial_usb.o(i.sduObjectInit)
 <LI><a href="#[7b]">isspace</a> from isspace_c.o(.text) referenced from scanf_char.o(.text)
 <LI><a href="#[76]">main</a> from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)
 <LI><a href="#[a2]">mcpwm_adc_int_handler</a> from mcpwm.o(i.mcpwm_adc_int_handler) referenced from mcpwm.o(i.mcpwm_init)
 <LI><a href="#[a0]">mcpwm_foc_adc_int_handler</a> from mcpwm_foc.o(i.mcpwm_foc_adc_int_handler) referenced from mcpwm_foc.o(i.mcpwm_foc_init)
 <LI><a href="#[aa]">nrf_driver_send_buffer</a> from nrf_driver.o(i.nrf_driver_send_buffer) referenced from nrf_driver.o(i.rx_thread)
 <LI><a href="#[ac]">onotify</a> from serial_usb.o(i.onotify) referenced from serial_usb.o(i.sduObjectInit)
 <LI><a href="#[83]">output_thread</a> from app_nunchuk.o(i.output_thread) referenced from app_nunchuk.o(i.app_nunchuk_update_output)
 <LI><a href="#[83]">output_thread</a> from app_nunchuk.o(i.output_thread) referenced from app_nunchuk.o(i.chuk_thread)
 <LI><a href="#[88]">packet_process_thread</a> from app_uartcomm.o(i.packet_process_thread) referenced from app_uartcomm.o(i.app_uartcomm_start)
 <LI><a href="#[9c]">periodic_thread</a> from main.o(i.periodic_thread) referenced from main.o(i.main)
 <LI><a href="#[84]">ppm_thread</a> from app_ppm.o(i.ppm_thread) referenced from app_ppm.o(i.app_ppm_start)
 <LI><a href="#[86]">process_packet</a> from app_uartcomm.o(i.process_packet) referenced from app_uartcomm.o(i.app_uartcomm_start)
 <LI><a href="#[90]">process_packet</a> from comm_usb.o(i.process_packet) referenced from comm_usb.o(i.comm_usb_init)
 <LI><a href="#[b9]">put</a> from serial_usb.o(i.put) referenced from serial_usb.o(.constdata)
 <LI><a href="#[bb]">putt</a> from serial_usb.o(i.putt) referenced from serial_usb.o(.constdata)
 <LI><a href="#[b8]">read</a> from serial_usb.o(i.read) referenced from serial_usb.o(.constdata)
 <LI><a href="#[be]">readt</a> from serial_usb.o(i.readt) referenced from serial_usb.o(.constdata)
 <LI><a href="#[a4]">rpm_thread</a> from mcpwm.o(i.rpm_thread) referenced from mcpwm.o(i.mcpwm_init)
 <LI><a href="#[a5]">rx_thread</a> from nrf_driver.o(i.rx_thread) referenced from nrf_driver.o(i.nrf_driver_init)
 <LI><a href="#[5]">rxchar</a> from app_uartcomm.o(i.rxchar) referenced 2 times from app_uartcomm.o(.data)
 <LI><a href="#[4]">rxend</a> from app_uartcomm.o(i.rxend) referenced 2 times from app_uartcomm.o(.data)
 <LI><a href="#[6]">rxerr</a> from app_uartcomm.o(i.rxerr) referenced 2 times from app_uartcomm.o(.data)
 <LI><a href="#[9f]">sample_send_thread</a> from mc_interface.o(i.sample_send_thread) referenced from mc_interface.o(i.mc_interface_init)
 <LI><a href="#[b2]">sduDataReceived</a> from serial_usb.o(i.sduDataReceived) referenced from comm_usb_serial.o(.constdata)
 <LI><a href="#[b1]">sduDataTransmitted</a> from serial_usb.o(i.sduDataTransmitted) referenced from comm_usb_serial.o(.constdata)
 <LI><a href="#[b3]">sduInterruptTransmitted</a> from serial_usb.o(i.sduInterruptTransmitted) referenced from comm_usb_serial.o(.constdata)
 <LI><a href="#[b6]">sduRequestsHook</a> from serial_usb.o(i.sduRequestsHook) referenced from comm_usb_serial.o(.constdata)
 <LI><a href="#[87]">send_packet</a> from app_uartcomm.o(i.send_packet) referenced from app_uartcomm.o(i.app_uartcomm_start)
 <LI><a href="#[91]">send_packet</a> from comm_usb.o(i.send_packet) referenced from comm_usb.o(i.comm_usb_init)
 <LI><a href="#[89]">send_packet_wrapper</a> from comm_can.o(i.send_packet_wrapper) referenced from comm_can.o(i.cancom_process_thread)
 <LI><a href="#[a8]">send_packet_wrapper</a> from comm_usb.o(i.send_packet_wrapper) referenced 2 times from comm_usb.o(i.process_packet)
 <LI><a href="#[93]">serial_process_thread</a> from comm_usb.o(i.serial_process_thread) referenced from comm_usb.o(i.comm_usb_init)
 <LI><a href="#[92]">serial_read_thread</a> from comm_usb.o(i.serial_read_thread) referenced from comm_usb.o(i.comm_usb_init)
 <LI><a href="#[a7]">servodec_func</a> from app_ppm.o(i.servodec_func) referenced from app_ppm.o(i.ppm_thread)
 <LI><a href="#[81]">terminal_cmd_nunchuk_status</a> from app_nunchuk.o(i.terminal_cmd_nunchuk_status) referenced from app_nunchuk.o(i.app_nunchuk_configure)
 <LI><a href="#[98]">terminal_print_faults</a> from drv8301.o(i.terminal_print_faults) referenced from drv8301.o(i.drv8301_init)
 <LI><a href="#[95]">terminal_read_reg</a> from drv8301.o(i.terminal_read_reg) referenced from drv8301.o(i.drv8301_init)
 <LI><a href="#[99]">terminal_reset_faults</a> from drv8301.o(i.terminal_reset_faults) referenced from drv8301.o(i.drv8301_init)
 <LI><a href="#[97]">terminal_set_oc_adj</a> from drv8301.o(i.terminal_set_oc_adj) referenced from drv8301.o(i.drv8301_init)
 <LI><a href="#[96]">terminal_write_reg</a> from drv8301.o(i.terminal_write_reg) referenced from drv8301.o(i.drv8301_init)
 <LI><a href="#[ad]">timeout_thread</a> from timeout.o(i.timeout_thread) referenced from timeout.o(i.timeout_init)
 <LI><a href="#[9d]">timer_thread</a> from main.o(i.timer_thread) referenced from main.o(i.main)
 <LI><a href="#[9e]">timer_thread</a> from mc_interface.o(i.timer_thread) referenced from mc_interface.o(i.mc_interface_init)
 <LI><a href="#[a1]">timer_thread</a> from mcpwm_foc.o(i.timer_thread) referenced from mcpwm_foc.o(i.mcpwm_foc_init)
 <LI><a href="#[a3]">timer_thread</a> from mcpwm.o(i.timer_thread) referenced from mcpwm.o(i.mcpwm_init)
 <LI><a href="#[a6]">tx_thread</a> from nrf_driver.o(i.tx_thread) referenced from nrf_driver.o(i.nrf_driver_init)
 <LI><a href="#[2]">txend1</a> from app_uartcomm.o(i.txend1) referenced 2 times from app_uartcomm.o(.data)
 <LI><a href="#[3]">txend2</a> from app_uartcomm.o(i.txend2) referenced 2 times from app_uartcomm.o(.data)
 <LI><a href="#[ae]">uart_lld_serve_rx_end_irq</a> from uart_lld.o(i.uart_lld_serve_rx_end_irq) referenced from uart_lld.o(i.uart_lld_start)
 <LI><a href="#[af]">uart_lld_serve_tx_end_irq</a> from uart_lld.o(i.uart_lld_serve_tx_end_irq) referenced from uart_lld.o(i.uart_lld_start)
 <LI><a href="#[85]">update</a> from app_ppm.o(i.update) referenced from app_ppm.o(i.app_ppm_start)
 <LI><a href="#[85]">update</a> from app_ppm.o(i.update) referenced from app_ppm.o(i.update)
 <LI><a href="#[b4]">usb_event</a> from comm_usb_serial.o(i.usb_event) referenced from comm_usb_serial.o(.constdata)
 <LI><a href="#[b0]">usb_lld_pump</a> from usb_lld.o(i.usb_lld_pump) referenced from usb_lld.o(i.usb_lld_start)
 <LI><a href="#[8a]">wakeup</a> from chschd.o(i.wakeup) referenced from chschd.o(i.chSchGoSleepTimeoutS)
 <LI><a href="#[b7]">write</a> from serial_usb.o(i.write) referenced from serial_usb.o(.constdata)
 <LI><a href="#[bd]">writet</a> from serial_usb.o(i.writet) referenced from serial_usb.o(.constdata)
</UL>
<P>
<H3>
Global Symbols
</H3>
<P><STRONG><a name="[77]"></a>__main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
<BR>[Address Reference Count : 1]<UL><LI> cstartup.o(.text)
</UL>
<P><STRONG><a name="[349]"></a>_main_stk</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

<P><STRONG><a name="[c2]"></a>_main_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[c4]"></a>__main_after_scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))
<BR><BR>[Called By]<UL><LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
</UL>

<P><STRONG><a name="[34a]"></a>_main_clock</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008))

<P><STRONG><a name="[34b]"></a>_main_cpp_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A))

<P><STRONG><a name="[34c]"></a>_main_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B))

<P><STRONG><a name="[34d]"></a>__rt_final_cpp</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D))

<P><STRONG><a name="[34e]"></a>__rt_final_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

<P><STRONG><a name="[c3]"></a>__scatterload</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main_after_scatterload
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_main_scatterload
</UL>

<P><STRONG><a name="[34f]"></a>__scatterload_rt2</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED)

<P><STRONG><a name="[350]"></a>__scatterload_copy</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED)

<P><STRONG><a name="[351]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED)

<P><STRONG><a name="[352]"></a>__scatterload_zeroinit</STRONG> (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED)

<P><STRONG><a name="[1b0]"></a>_port_switch</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, chcoreasm_v7m.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchWakeupS
<LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
<LI><a href="#[1a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepS
<LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoRescheduleBehind
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoRescheduleAhead
</UL>

<P><STRONG><a name="[8c]"></a>_port_thread_start</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, chcoreasm_v7m.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _port_thread_start &rArr; chThdExit
</UL>
<BR>[Calls]<UL><LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdExit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> chthreads.o(i.chThdCreateI)
</UL>
<P><STRONG><a name="[7e]"></a>_port_switch_from_isr</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, chcoreasm_v7m.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoReschedule
</UL>
<BR>[Address Reference Count : 1]<UL><LI> chcore_v7m.o(i._port_irq_epilogue)
</UL>
<P><STRONG><a name="[7f]"></a>_port_exit_from_isr</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, chcoreasm_v7m.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> chcore_v7m.o(i._port_irq_epilogue)
</UL>
<P><STRONG><a name="[7]"></a>Reset_Handler</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, cstartup.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__early_init
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[b]"></a>BusFault_Handler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[12]"></a>DebugMon_Handler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[9]"></a>HardFault_Handler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[a]"></a>MemManage_Handler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[8]"></a>NMI_Handler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[14]"></a>PendSV_Handler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[c]"></a>UsageFault_Handler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[46]"></a>Vector100</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[47]"></a>Vector104</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[48]"></a>Vector108</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[49]"></a>Vector10C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[4a]"></a>Vector110</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[4b]"></a>Vector114</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[4c]"></a>Vector118</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[4d]"></a>Vector11C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[53]"></a>Vector134</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[54]"></a>Vector138</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[55]"></a>Vector13C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[56]"></a>Vector140</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[57]"></a>Vector144</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[58]"></a>Vector148</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[5e]"></a>Vector160</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[5f]"></a>Vector164</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[60]"></a>Vector168</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[61]"></a>Vector16C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[62]"></a>Vector170</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[63]"></a>Vector174</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[64]"></a>Vector178</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[65]"></a>Vector17C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[66]"></a>Vector180</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[67]"></a>Vector184</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[68]"></a>Vector188</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[69]"></a>Vector18C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[6a]"></a>Vector190</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[6b]"></a>Vector194</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[6c]"></a>Vector198</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[6d]"></a>Vector19C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[6e]"></a>Vector1A0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[6f]"></a>Vector1A4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[70]"></a>Vector1A8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[71]"></a>Vector1AC</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[72]"></a>Vector1B0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[73]"></a>Vector1B4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[74]"></a>Vector1B8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[75]"></a>Vector1BC</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[d]"></a>Vector1C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[e]"></a>Vector20</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[f]"></a>Vector24</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[10]"></a>Vector28</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[13]"></a>Vector34</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[16]"></a>Vector40</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[17]"></a>Vector44</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[18]"></a>Vector48</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[19]"></a>Vector4C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[1a]"></a>Vector50</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[1b]"></a>Vector54</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[1c]"></a>Vector58</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[1d]"></a>Vector5C</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>Vector60</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>Vector64</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>Vector68</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[2e]"></a>VectorA0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[2f]"></a>VectorA4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[30]"></a>VectorA8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[31]"></a>VectorAC</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[32]"></a>VectorB0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[35]"></a>VectorBC</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[36]"></a>VectorC0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[39]"></a>VectorCC</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[3a]"></a>VectorD0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[3b]"></a>VectorD4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[3c]"></a>VectorD8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[3e]"></a>VectorE0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[3f]"></a>VectorE4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[40]"></a>VectorE8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[41]"></a>VectorEC</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[42]"></a>VectorF0</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[43]"></a>VectorF4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, vectors.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[c8]"></a>_unhandled_exception</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, vectors.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_unhandled_exception
</UL>
<BR>[Called By]<UL><LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_unhandled_exception
</UL>

<P><STRONG><a name="[18d]"></a>__aeabi_memcpy</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[2f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_send_packet
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_send_buffer
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
<LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data_crc
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_send_buffer
</UL>

<P><STRONG><a name="[165]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[353]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED)

<P><STRONG><a name="[ca]"></a>__aeabi_memset</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_memset$wrapper
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>

<P><STRONG><a name="[354]"></a>__aeabi_memset4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

<P><STRONG><a name="[355]"></a>__aeabi_memset8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

<P><STRONG><a name="[c9]"></a>__aeabi_memclr</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
</UL>
<BR>[Called By]<UL><LI><a href="#[20c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_init
</UL>

<P><STRONG><a name="[20b]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[207]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_reset_hall_detect_table
<LI><a href="#[1e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_get_default_mc_configuration
<LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_get_default_app_configuration
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[356]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

<P><STRONG><a name="[cb]"></a>_memset$wrapper</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
</UL>

<P><STRONG><a name="[223]"></a>strcat</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, strcat.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[336]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_byte_to_binary
<LI><a href="#[222]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_faults_to_string
</UL>

<P><STRONG><a name="[32e]"></a>strcmp</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, strcmp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = strcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[156]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_register_command_callback
</UL>

<P><STRONG><a name="[321]"></a>memcmp</STRONG> (Thumb, 26 bytes, Stack size 12 bytes, memcmp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = memcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_init
</UL>

<P><STRONG><a name="[32d]"></a>strtok</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, strtok.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = strtok
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[cc]"></a>__0sscanf</STRONG> (Thumb, 48 bytes, Stack size 72 bytes, __0sscanf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 264<LI>Call Chain = __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real
</UL>
<BR>[Calls]<UL><LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf_char
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_write_reg
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_set_oc_adj
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_read_reg
</UL>

<P><STRONG><a name="[ce]"></a>_scanf_int</STRONG> (Thumb, 332 bytes, Stack size 56 bytes, _scanf_int.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = _scanf_int
</UL>
<BR>[Calls]<UL><LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_chval
</UL>
<BR>[Called By]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[e7]"></a>_scanf_real</STRONG> (Thumb, 0 bytes, Stack size 104 bytes, scanf_fp.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = _scanf_real
</UL>
<BR>[Called By]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>

<P><STRONG><a name="[d4]"></a>_scanf_really_real</STRONG> (Thumb, 556 bytes, Stack size 104 bytes, scanf_fp.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
<LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_is_digit
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
</UL>

<P><STRONG><a name="[2c4]"></a>__aeabi_f2d</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, f2d.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[2e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_print_state
</UL>

<P><STRONG><a name="[357]"></a>__aeabi_uidiv</STRONG> (Thumb, 0 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)

<P><STRONG><a name="[12c]"></a>__aeabi_uidivmod</STRONG> (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[10c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>

<P><STRONG><a name="[d7]"></a>__aeabi_uldivmod</STRONG> (Thumb, 98 bytes, Stack size 40 bytes, uldiv.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[10c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
<LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[cf]"></a>_chval</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, _chval.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_int
</UL>

<P><STRONG><a name="[cd]"></a>__vfscanf_char</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, scanf_char.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real
</UL>
<BR>[Calls]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf
</UL>
<BR>[Called By]<UL><LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
</UL>

<P><STRONG><a name="[78]"></a>_sgetc</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, _sgetc.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> __0sscanf.o(.text)
</UL>
<P><STRONG><a name="[79]"></a>_sbackspace</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, _sgetc.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> __0sscanf.o(.text)
</UL>
<P><STRONG><a name="[11d]"></a>__ARM_scalbnf</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, fscalb.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_ldexpf
</UL>

<P><STRONG><a name="[358]"></a>__I$use$fp</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED)

<P><STRONG><a name="[359]"></a>scalbnf</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, fscalb.o(.text), UNUSED)

<P><STRONG><a name="[db]"></a>_frnd</STRONG> (Thumb, 60 bytes, Stack size 8 bytes, frnd.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _frnd
</UL>
<BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_round
</UL>
<BR>[Called By]<UL><LI><a href="#[122]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_roundf
</UL>

<P><STRONG><a name="[dd]"></a>_frem</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, frem.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_fmodf
</UL>

<P><STRONG><a name="[df]"></a>__aeabi_dadd</STRONG> (Thumb, 322 bytes, Stack size 48 bytes, dadd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_lasr
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_drsub
<LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dsub
</UL>

<P><STRONG><a name="[e3]"></a>__aeabi_dsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>

<P><STRONG><a name="[e4]"></a>__aeabi_drsub</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, dadd.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>

<P><STRONG><a name="[d2]"></a>__aeabi_dmul</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, dmul.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
</UL>

<P><STRONG><a name="[d3]"></a>__aeabi_ddiv</STRONG> (Thumb, 222 bytes, Stack size 32 bytes, ddiv.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
</UL>

<P><STRONG><a name="[d1]"></a>__aeabi_ul2d</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, dfltul.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_value
</UL>

<P><STRONG><a name="[e5]"></a>__aeabi_d2ulz</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, dfixul.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
</UL>
<BR>[Called By]<UL><LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[124]"></a>__aeabi_cdrcmple</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, cdrcmple.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
</UL>

<P><STRONG><a name="[d6]"></a>__aeabi_d2f</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_float_round
</UL>
<BR>[Called By]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>

<P><STRONG><a name="[35a]"></a>__fp_status</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, fpstat.o(.text), UNUSED)

<P><STRONG><a name="[121]"></a>__ieee_status</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, fpstat.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
</UL>

<P><STRONG><a name="[d9]"></a>__aeabi_llsl</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2ulz
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>

<P><STRONG><a name="[35b]"></a>_ll_shift_l</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llshl.o(.text), UNUSED)

<P><STRONG><a name="[d8]"></a>__aeabi_llsr</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2ulz
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>

<P><STRONG><a name="[35c]"></a>_ll_ushift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llushr.o(.text), UNUSED)

<P><STRONG><a name="[e0]"></a>__aeabi_lasr</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
</UL>

<P><STRONG><a name="[35d]"></a>_ll_sshift_r</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, llsshr.o(.text), UNUSED)

<P><STRONG><a name="[7b]"></a>isspace</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, isspace_c.o(.text))
<BR><BR>[Calls]<UL><LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ctype_lookup
</UL>
<BR>[Address Reference Count : 1]<UL><LI> scanf_char.o(.text)
</UL>
<P><STRONG><a name="[da]"></a>__vfscanf</STRONG> (Thumb, 808 bytes, Stack size 88 bytes, _scanf.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = __vfscanf &rArr; _scanf_real
</UL>
<BR>[Calls]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_real
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_int
</UL>
<BR>[Called By]<UL><LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__vfscanf_char
</UL>

<P><STRONG><a name="[dc]"></a>_float_round</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, fepilogue.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_frnd
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2f
</UL>

<P><STRONG><a name="[de]"></a>_float_epilogue</STRONG> (Thumb, 92 bytes, Stack size 4 bytes, fepilogue.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = _float_epilogue
</UL>
<BR>[Called By]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_frem
</UL>

<P><STRONG><a name="[e2]"></a>_double_round</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, depilogue.o(.text), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_epilogue
</UL>

<P><STRONG><a name="[e1]"></a>_double_epilogue</STRONG> (Thumb, 156 bytes, Stack size 32 bytes, depilogue.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsr
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_llsl
<LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_double_round
</UL>
<BR>[Called By]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ul2d
</UL>

<P><STRONG><a name="[e6]"></a>__ctype_lookup</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, ctype_c.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;isspace
</UL>

<P><STRONG><a name="[35e]"></a>__decompress</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

<P><STRONG><a name="[35f]"></a>__decompress1</STRONG> (Thumb, 86 bytes, Stack size unknown bytes, __dczerorl2.o(.text), UNUSED)

<P><STRONG><a name="[ff]"></a>ADC_ClearITPendingBit</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_ClearITPendingBit))
<BR><BR>[Called By]<UL><LI><a href="#[28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector88
</UL>

<P><STRONG><a name="[2d9]"></a>ADC_Cmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_Cmd))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2d5]"></a>ADC_CommonInit</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_CommonInit))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[e8]"></a>ADC_DeInit</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, stm32f4xx_adc.o(i.ADC_DeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = ADC_DeInit
</UL>
<BR>[Calls]<UL><LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphResetCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
</UL>

<P><STRONG><a name="[2e9]"></a>ADC_ExternalTrigInjectedConvConfig</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_ExternalTrigInjectedConvConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
</UL>

<P><STRONG><a name="[2ea]"></a>ADC_ExternalTrigInjectedConvEdgeConfig</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_ExternalTrigInjectedConvEdgeConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
</UL>

<P><STRONG><a name="[2b1]"></a>ADC_GetInjectedConversionValue</STRONG> (Thumb, 16 bytes, Stack size 4 bytes, stm32f4xx_adc.o(i.ADC_GetInjectedConversionValue))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = ADC_GetInjectedConversionValue
</UL>
<BR>[Called By]<UL><LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
</UL>

<P><STRONG><a name="[2ec]"></a>ADC_ITConfig</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_ITConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
</UL>

<P><STRONG><a name="[2d6]"></a>ADC_Init</STRONG> (Thumb, 76 bytes, Stack size 4 bytes, stm32f4xx_adc.o(i.ADC_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = ADC_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[252]"></a>ADC_InjectedChannelConfig</STRONG> (Thumb, 92 bytes, Stack size 8 bytes, stm32f4xx_adc.o(i.ADC_InjectedChannelConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = ADC_InjectedChannelConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[250]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_setup_adc_channels
</UL>

<P><STRONG><a name="[2eb]"></a>ADC_InjectedSequencerLengthConfig</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_InjectedSequencerLengthConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
</UL>

<P><STRONG><a name="[2d8]"></a>ADC_MultiModeDMARequestAfterLastTransferCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_MultiModeDMARequestAfterLastTransferCmd))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[251]"></a>ADC_RegularChannelConfig</STRONG> (Thumb, 144 bytes, Stack size 8 bytes, stm32f4xx_adc.o(i.ADC_RegularChannelConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = ADC_RegularChannelConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[250]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_setup_adc_channels
</UL>

<P><STRONG><a name="[2d7]"></a>ADC_TempSensorVrefintCmd</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_adc.o(i.ADC_TempSensorVrefintCmd))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2d3]"></a>DMA_Cmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_dma.o(i.DMA_Cmd))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2ba]"></a>DMA_DeInit</STRONG> (Thumb, 302 bytes, Stack size 24 bytes, stm32f4xx_dma.o(i.DMA_DeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = DMA_DeInit
</UL>
<BR>[Called By]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
</UL>

<P><STRONG><a name="[2d4]"></a>DMA_ITConfig</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, stm32f4xx_dma.o(i.DMA_ITConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2d2]"></a>DMA_Init</STRONG> (Thumb, 116 bytes, Stack size 4 bytes, stm32f4xx_dma.o(i.DMA_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = DMA_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[ed]"></a>EE_Init</STRONG> (Thumb, 668 bytes, Stack size 40 bytes, eeprom.o(i.EE_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = EE_Init &rArr; EE_VerifyPageFullWriteVariable &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_VerifyPageFullWriteVariable
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_FindValidPage
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_EraseSectorIfNotEmpty
</UL>
<BR>[Called By]<UL><LI><a href="#[20c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_init
</UL>

<P><STRONG><a name="[f1]"></a>EE_ReadVariable</STRONG> (Thumb, 70 bytes, Stack size 24 bytes, eeprom.o(i.EE_ReadVariable))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = EE_ReadVariable
</UL>
<BR>[Calls]<UL><LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_FindValidPage
</UL>
<BR>[Called By]<UL><LI><a href="#[210]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_read_mc_configuration
<LI><a href="#[20f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_read_app_configuration
</UL>

<P><STRONG><a name="[f2]"></a>EE_WriteVariable</STRONG> (Thumb, 242 bytes, Stack size 40 bytes, eeprom.o(i.EE_WriteVariable))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = EE_WriteVariable &rArr; EE_VerifyPageFullWriteVariable &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_VerifyPageFullWriteVariable
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_FindValidPage
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_EraseSectorIfNotEmpty
</UL>
<BR>[Called By]<UL><LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
</UL>

<P><STRONG><a name="[105]"></a>EXTI_ClearITPendingBit</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_exti.o(i.EXTI_ClearITPendingBit))
<BR><BR>[Called By]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector9C
</UL>

<P><STRONG><a name="[103]"></a>EXTI_GetITStatus</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f4xx_exti.o(i.EXTI_GetITStatus))
<BR><BR>[Called By]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector9C
</UL>

<P><STRONG><a name="[232]"></a>EXTI_Init</STRONG> (Thumb, 136 bytes, Stack size 0 bytes, stm32f4xx_exti.o(i.EXTI_Init))
<BR><BR>[Called By]<UL><LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>

<P><STRONG><a name="[20e]"></a>FLASH_ClearFlag</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, stm32f4xx_flash.o(i.FLASH_ClearFlag))
<BR><BR>[Called By]<UL><LI><a href="#[20c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_init
<LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
</UL>

<P><STRONG><a name="[ec]"></a>FLASH_EraseSector</STRONG> (Thumb, 104 bytes, Stack size 16 bytes, stm32f4xx_flash.o(i.FLASH_EraseSector))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = FLASH_EraseSector &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>
<BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_EraseSectorIfNotEmpty
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
</UL>

<P><STRONG><a name="[f5]"></a>FLASH_GetStatus</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, stm32f4xx_flash.o(i.FLASH_GetStatus))
<BR><BR>[Called By]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>

<P><STRONG><a name="[f4]"></a>FLASH_ProgramByte</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, stm32f4xx_flash.o(i.FLASH_ProgramByte))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = FLASH_ProgramByte &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>
<BR>[Called By]<UL><LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
</UL>

<P><STRONG><a name="[ee]"></a>FLASH_ProgramHalfWord</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, stm32f4xx_flash.o(i.FLASH_ProgramHalfWord))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_WaitForLastOperation
</UL>
<BR>[Called By]<UL><LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_VerifyPageFullWriteVariable
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_WriteVariable
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_Init
</UL>

<P><STRONG><a name="[20d]"></a>FLASH_Unlock</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, stm32f4xx_flash.o(i.FLASH_Unlock))
<BR><BR>[Called By]<UL><LI><a href="#[20c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_init
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
</UL>

<P><STRONG><a name="[f3]"></a>FLASH_WaitForLastOperation</STRONG> (Thumb, 88 bytes, Stack size 8 bytes, stm32f4xx_flash.o(i.FLASH_WaitForLastOperation))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_GetStatus
</UL>
<BR>[Called By]<UL><LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EraseSector
<LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramByte
</UL>

<P><STRONG><a name="[24f]"></a>RCC_AHB1PeriphClockCmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_AHB1PeriphClockCmd))
<BR><BR>[Called By]<UL><LI><a href="#[24e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_init_gpio
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[211]"></a>RCC_APB1PeriphClockCmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB1PeriphClockCmd))
<BR><BR>[Called By]<UL><LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_jump_to_bootloader
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>

<P><STRONG><a name="[f9]"></a>RCC_APB1PeriphResetCmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB1PeriphResetCmd))
<BR><BR>[Called By]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_DeInit
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_DeInit
</UL>

<P><STRONG><a name="[22d]"></a>RCC_APB2PeriphClockCmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB2PeriphClockCmd))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>

<P><STRONG><a name="[e9]"></a>RCC_APB2PeriphResetCmd</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_rcc.o(i.RCC_APB2PeriphResetCmd))
<BR><BR>[Called By]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_DeInit
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_DeInit
</UL>

<P><STRONG><a name="[11]"></a>SVC_Handler</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, chcore_v7m.o(i.SVC_Handler))
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[231]"></a>SYSCFG_EXTILineConfig</STRONG> (Thumb, 46 bytes, Stack size 0 bytes, stm32f4xx_syscfg.o(i.SYSCFG_EXTILineConfig))
<BR><BR>[Called By]<UL><LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>

<P><STRONG><a name="[15]"></a>SysTick_Handler</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, st_lld.o(i.SysTick_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SysTick_Handler &rArr; chSysTimerHandlerI
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysTimerHandlerI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[2d1]"></a>TIM_ARRPreloadConfig</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_ARRPreloadConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2cf]"></a>TIM_BDTRConfig</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_BDTRConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2d0]"></a>TIM_CCPreloadControl</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_CCPreloadControl))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[240]"></a>TIM_CCxCmd</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_CCxCmd))
<BR><BR>[Called By]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[216]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_pwm_hw
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_comm_step
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
</UL>

<P><STRONG><a name="[241]"></a>TIM_CCxNCmd</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_CCxNCmd))
<BR><BR>[Called By]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[216]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_pwm_hw
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_comm_step
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
</UL>

<P><STRONG><a name="[108]"></a>TIM_ClearITPendingBit</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_ClearITPendingBit))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorF8
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorB4
</UL>

<P><STRONG><a name="[230]"></a>TIM_Cmd</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_Cmd))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>

<P><STRONG><a name="[2da]"></a>TIM_CtrlPWMOutputs</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_CtrlPWMOutputs))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[f8]"></a>TIM_DeInit</STRONG> (Thumb, 436 bytes, Stack size 8 bytes, stm32f4xx_tim.o(i.TIM_DeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM_DeInit
</UL>
<BR>[Calls]<UL><LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphResetCmd
<LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphResetCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_deinit
</UL>

<P><STRONG><a name="[22e]"></a>TIM_EncoderInterfaceConfig</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, stm32f4xx_tim.o(i.TIM_EncoderInterfaceConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM_EncoderInterfaceConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>

<P><STRONG><a name="[1fd]"></a>TIM_GenerateEvent</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_GenerateEvent))
<BR><BR>[Called By]<UL><LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
<LI><a href="#[109]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_tim_sample_int_handler
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[106]"></a>TIM_GetITStatus</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_GetITStatus))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorF8
<LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorB4
</UL>

<P><STRONG><a name="[235]"></a>TIM_ITConfig</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_ITConfig))
<BR><BR>[Called By]<UL><LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
</UL>

<P><STRONG><a name="[2c7]"></a>TIM_OC1Init</STRONG> (Thumb, 114 bytes, Stack size 4 bytes, stm32f4xx_tim.o(i.TIM_OC1Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = TIM_OC1Init
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2cb]"></a>TIM_OC1PreloadConfig</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_OC1PreloadConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2c8]"></a>TIM_OC2Init</STRONG> (Thumb, 144 bytes, Stack size 8 bytes, stm32f4xx_tim.o(i.TIM_OC2Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM_OC2Init
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2cc]"></a>TIM_OC2PreloadConfig</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_OC2PreloadConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2c9]"></a>TIM_OC3Init</STRONG> (Thumb, 142 bytes, Stack size 8 bytes, stm32f4xx_tim.o(i.TIM_OC3Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM_OC3Init
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2cd]"></a>TIM_OC3PreloadConfig</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_OC3PreloadConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2ca]"></a>TIM_OC4Init</STRONG> (Thumb, 114 bytes, Stack size 8 bytes, stm32f4xx_tim.o(i.TIM_OC4Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = TIM_OC4Init
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2ce]"></a>TIM_OC4PreloadConfig</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_OC4PreloadConfig))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2dd]"></a>TIM_SelectInputTrigger</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_SelectInputTrigger))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2dc]"></a>TIM_SelectMasterSlaveMode</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_SelectMasterSlaveMode))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[23f]"></a>TIM_SelectOCxM</STRONG> (Thumb, 110 bytes, Stack size 4 bytes, stm32f4xx_tim.o(i.TIM_SelectOCxM))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = TIM_SelectOCxM
</UL>
<BR>[Called By]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[216]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_pwm_hw
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_comm_step
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
</UL>

<P><STRONG><a name="[2db]"></a>TIM_SelectOutputTrigger</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_SelectOutputTrigger))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2de]"></a>TIM_SelectSlaveMode</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_SelectSlaveMode))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[22f]"></a>TIM_SetAutoreload</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_tim.o(i.TIM_SetAutoreload))
<BR><BR>[Called By]<UL><LI><a href="#[236]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_set_counts
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>

<P><STRONG><a name="[234]"></a>TIM_TimeBaseInit</STRONG> (Thumb, 122 bytes, Stack size 4 bytes, stm32f4xx_tim.o(i.TIM_TimeBaseInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = TIM_TimeBaseInit
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
</UL>

<P><STRONG><a name="[4e]"></a>Vector120</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector120))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector120 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[4f]"></a>Vector124</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector124))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector124 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[50]"></a>Vector128</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector128))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector128 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[51]"></a>Vector12C</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector12C))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector12C &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[52]"></a>Vector130</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector130))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector130 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[59]"></a>Vector14C</STRONG> (Thumb, 240 bytes, Stack size 16 bytes, usb_lld.o(i.Vector14C))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = Vector14C &rArr; otg_epin_handler
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_reset
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdResumeI
<LI><a href="#[fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;otg_epout_handler
<LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;otg_epin_handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[5a]"></a>Vector150</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector150))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector150 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[5b]"></a>Vector154</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector154))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector154 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[5c]"></a>Vector158</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector158))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector158 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[5d]"></a>Vector15C</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, uart_lld.o(i.Vector15C))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = Vector15C &rArr; serve_usart_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;serve_usart_irq
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[21]"></a>Vector6C</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector6C))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector6C &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[22]"></a>Vector70</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector70))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector70 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[23]"></a>Vector74</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector74))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector74 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[24]"></a>Vector78</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector78))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector78 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[25]"></a>Vector7C</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector7C))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector7C &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[26]"></a>Vector80</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector80))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector80 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[27]"></a>Vector84</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, stm32_dma.o(i.Vector84))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector84 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[28]"></a>Vector88</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, irq_handlers.o(i.Vector88))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = Vector88 &rArr; mc_interface_adc_inj_int_handler &rArr; mcpwm_adc_inj_int_handler &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_adc_inj_int_handler
<LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_ClearITPendingBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[29]"></a>Vector8C</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, can_lld.o(i.Vector8C))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = Vector8C &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[2a]"></a>Vector90</STRONG> (Thumb, 96 bytes, Stack size 24 bytes, can_lld.o(i.Vector90))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = Vector90 &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[2b]"></a>Vector94</STRONG> (Thumb, 96 bytes, Stack size 24 bytes, can_lld.o(i.Vector94))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = Vector94 &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[2c]"></a>Vector98</STRONG> (Thumb, 120 bytes, Stack size 24 bytes, can_lld.o(i.Vector98))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = Vector98 &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[2d]"></a>Vector9C</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, irq_handlers.o(i.Vector9C))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = Vector9C &rArr; encoder_reset
</UL>
<BR>[Calls]<UL><LI><a href="#[103]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_GetITStatus
<LI><a href="#[105]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_ClearITPendingBit
<LI><a href="#[104]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_reset
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[33]"></a>VectorB4</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, irq_handlers.o(i.VectorB4))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = VectorB4 &rArr; encoder_tim_isr
</UL>
<BR>[Calls]<UL><LI><a href="#[106]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GetITStatus
<LI><a href="#[108]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ClearITPendingBit
<LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_tim_isr
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[34]"></a>VectorB8</STRONG> (Thumb, 146 bytes, Stack size 16 bytes, icu_lld.o(i.VectorB8))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = VectorB8 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[37]"></a>VectorC4</STRONG> (Thumb, 244 bytes, Stack size 16 bytes, i2c_lld.o(i.VectorC4))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = VectorC4 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdResumeI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[38]"></a>VectorC8</STRONG> (Thumb, 254 bytes, Stack size 8 bytes, i2c_lld.o(i.VectorC8))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = VectorC8 &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdResumeI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[3d]"></a>VectorDC</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, uart_lld.o(i.VectorDC))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = VectorDC &rArr; serve_usart_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
<LI><a href="#[fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;serve_usart_irq
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[44]"></a>VectorF8</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, irq_handlers.o(i.VectorF8))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = VectorF8
</UL>
<BR>[Calls]<UL><LI><a href="#[109]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_tim_sample_int_handler
<LI><a href="#[106]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GetITStatus
<LI><a href="#[108]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ClearITPendingBit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[45]"></a>VectorFC</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, stm32_dma.o(i.VectorFC))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = VectorFC &rArr; _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>
<BR>[Address Reference Count : 1]<UL><LI> vectors.o(RESET)
</UL>
<P><STRONG><a name="[10a]"></a>WWDG_DeInit</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, stm32f4xx_wwdg.o(i.WWDG_DeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = WWDG_DeInit
</UL>
<BR>[Calls]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphResetCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
</UL>

<P><STRONG><a name="[2e1]"></a>WWDG_Enable</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f4xx_wwdg.o(i.WWDG_Enable))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2b7]"></a>WWDG_SetCounter</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, stm32f4xx_wwdg.o(i.WWDG_SetCounter))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
</UL>

<P><STRONG><a name="[2df]"></a>WWDG_SetPrescaler</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, stm32f4xx_wwdg.o(i.WWDG_SetPrescaler))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[2e0]"></a>WWDG_SetWindowValue</STRONG> (Thumb, 24 bytes, Stack size 4 bytes, stm32f4xx_wwdg.o(i.WWDG_SetWindowValue))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = WWDG_SetWindowValue
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[10b]"></a>__0vsnprintf</STRONG> (Thumb, 40 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[10c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>

<P><STRONG><a name="[360]"></a>__1vsnprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)

<P><STRONG><a name="[361]"></a>__2vsnprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)

<P><STRONG><a name="[362]"></a>__c89vsnprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED)

<P><STRONG><a name="[1cb]"></a>vsnprintf</STRONG> (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = vsnprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
</UL>

<P><STRONG><a name="[110]"></a>__ARM_fpclassifyf</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, fpclassifyf.o(i.__ARM_fpclassifyf))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_expf
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_atan2f
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_asinf
</UL>

<P><STRONG><a name="[c7]"></a>__early_init</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, board.o(i.__early_init))
<BR><BR>[Calls]<UL><LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stm32_clock_init
</UL>
<BR>[Called By]<UL><LI><a href="#[7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Reset_Handler
</UL>

<P><STRONG><a name="[10e]"></a>__hardfp_asinf</STRONG> (Thumb, 258 bytes, Stack size 16 bytes, asinf.o(i.__hardfp_asinf))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __hardfp_asinf &rArr; sqrtf
</UL>
<BR>[Calls]<UL><LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sqrtf
<LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_underflow
<LI><a href="#[114]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_invalid
<LI><a href="#[112]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_infnan
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_fpclassifyf
</UL>
<BR>[Called By]<UL><LI><a href="#[2e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_detect_pos
</UL>

<P><STRONG><a name="[115]"></a>__hardfp_atan2f</STRONG> (Thumb, 502 bytes, Stack size 16 bytes, atan2f.o(i.__hardfp_atan2f))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __hardfp_atan2f
</UL>
<BR>[Calls]<UL><LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_underflow
<LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_infnan2
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_fpclassifyf
</UL>
<BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
</UL>

<P><STRONG><a name="[117]"></a>__hardfp_cosf</STRONG> (Thumb, 280 bytes, Stack size 8 bytes, cosf.o(i.__hardfp_cosf))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = __hardfp_cosf &rArr; __mathlib_rredf2
</UL>
<BR>[Calls]<UL><LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[118]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_rredf2
<LI><a href="#[114]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_invalid
<LI><a href="#[112]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_infnan
</UL>
<BR>[Called By]<UL><LI><a href="#[23b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_hamming
</UL>

<P><STRONG><a name="[119]"></a>__hardfp_expf</STRONG> (Thumb, 426 bytes, Stack size 16 bytes, expf.o(i.__hardfp_expf))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __hardfp_expf
</UL>
<BR>[Calls]<UL><LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_underflow
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_overflow
<LI><a href="#[112]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_infnan
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_fpclassifyf
</UL>
<BR>[Called By]<UL><LI><a href="#[13f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_throttle_curve
</UL>

<P><STRONG><a name="[363]"></a>__mathlib_expf</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, expf.o(i.__hardfp_expf), UNUSED)

<P><STRONG><a name="[2c0]"></a>__hardfp_floorf</STRONG> (Thumb, 98 bytes, Stack size 0 bytes, floorf.o(i.__hardfp_floorf))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[11b]"></a>__hardfp_fmodf</STRONG> (Thumb, 176 bytes, Stack size 16 bytes, fmodf.o(i.__hardfp_fmodf))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_frem
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[114]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_invalid
</UL>
<BR>[Called By]<UL><LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
</UL>

<P><STRONG><a name="[173]"></a>__hardfp_frexpf</STRONG> (Thumb, 80 bytes, Stack size 0 bytes, frexpf.o(i.__hardfp_frexpf))
<BR><BR>[Called By]<UL><LI><a href="#[172]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float32_auto
</UL>

<P><STRONG><a name="[11c]"></a>__hardfp_ldexpf</STRONG> (Thumb, 142 bytes, Stack size 16 bytes, ldexpf.o(i.__hardfp_ldexpf))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = __hardfp_ldexpf
</UL>
<BR>[Calls]<UL><LI><a href="#[11d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_scalbnf
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_underflow
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_overflow
</UL>
<BR>[Called By]<UL><LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_float32_auto
</UL>

<P><STRONG><a name="[11e]"></a>__hardfp_logf</STRONG> (Thumb, 320 bytes, Stack size 8 bytes, logf.o(i.__hardfp_logf))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __hardfp_logf
</UL>
<BR>[Calls]<UL><LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[114]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_invalid
<LI><a href="#[112]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_infnan
<LI><a href="#[11f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_divzero
</UL>
<BR>[Called By]<UL><LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
<LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
</UL>

<P><STRONG><a name="[364]"></a>__mathlib_logf</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, logf.o(i.__hardfp_logf), UNUSED)

<P><STRONG><a name="[120]"></a>__hardfp_powf</STRONG> (Thumb, 1606 bytes, Stack size 32 bytes, powf.o(i.__hardfp_powf))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = __hardfp_powf
</UL>
<BR>[Calls]<UL><LI><a href="#[121]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ieee_status
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
<LI><a href="#[111]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_underflow
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_overflow
<LI><a href="#[114]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_invalid
<LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_infnan2
<LI><a href="#[11f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__mathlib_flt_divzero
<LI><a href="#[110]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__ARM_fpclassifyf
</UL>
<BR>[Called By]<UL><LI><a href="#[269]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ledpwm_init
<LI><a href="#[13f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_throttle_curve
</UL>

<P><STRONG><a name="[365]"></a>__mathlib_powf</STRONG> (Thumb, 0 bytes, Stack size 32 bytes, powf.o(i.__hardfp_powf), UNUSED)

<P><STRONG><a name="[122]"></a>__hardfp_roundf</STRONG> (Thumb, 154 bytes, Stack size 16 bytes, roundf.o(i.__hardfp_roundf))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = __hardfp_roundf &rArr; _frnd
</UL>
<BR>[Calls]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_frnd
</UL>
<BR>[Called By]<UL><LI><a href="#[269]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ledpwm_init
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
</UL>

<P><STRONG><a name="[11f]"></a>__mathlib_flt_divzero</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_divzero))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_logf
</UL>

<P><STRONG><a name="[112]"></a>__mathlib_flt_infnan</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_infnan))
<BR><BR>[Called By]<UL><LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_logf
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_expf
<LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_cosf
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_asinf
</UL>

<P><STRONG><a name="[116]"></a>__mathlib_flt_infnan2</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_infnan2))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_atan2f
</UL>

<P><STRONG><a name="[114]"></a>__mathlib_flt_invalid</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_invalid))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_logf
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_fmodf
<LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_cosf
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_asinf
</UL>

<P><STRONG><a name="[11a]"></a>__mathlib_flt_overflow</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_overflow))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_ldexpf
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_expf
</UL>

<P><STRONG><a name="[111]"></a>__mathlib_flt_underflow</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, funder.o(i.__mathlib_flt_underflow))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_ldexpf
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_expf
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_atan2f
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_asinf
</UL>

<P><STRONG><a name="[118]"></a>__mathlib_rredf2</STRONG> (Thumb, 316 bytes, Stack size 20 bytes, rredf.o(i.__mathlib_rredf2))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = __mathlib_rredf2
</UL>
<BR>[Called By]<UL><LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_cosf
</UL>

<P><STRONG><a name="[113]"></a>__set_errno</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, errno.o(i.__set_errno))
<BR><BR>[Called By]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_logf
<LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_ldexpf
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_fmodf
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_expf
<LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_cosf
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_asinf
<LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sqrtf
</UL>

<P><STRONG><a name="[1b5]"></a>_core_init</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, chmemcore.o(i._core_init))
<BR><BR>[Called By]<UL><LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
</UL>

<P><STRONG><a name="[125]"></a>_heap_init</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, chheap.o(i._heap_init))
<BR><BR>[Calls]<UL><LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
</UL>

<P><STRONG><a name="[d5]"></a>_is_digit</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, scanf_fp.o(i._is_digit), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>

<P><STRONG><a name="[127]"></a>_pal_lld_init</STRONG> (Thumb, 116 bytes, Stack size 8 bytes, pal_lld.o(i._pal_lld_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _pal_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[128]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;initgpio
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[139]"></a>_pal_lld_setgroupmode</STRONG> (Thumb, 150 bytes, Stack size 36 bytes, pal_lld.o(i._pal_lld_setgroupmode))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = _pal_lld_setgroupmode
</UL>
<BR>[Called By]<UL><LI><a href="#[24e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_init_gpio
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_init
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_jump_to_bootloader
<LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_serial_init
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_deinit
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[15a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_stop_i2c
<LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_stop
<LI><a href="#[169]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_start
<LI><a href="#[163]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_stop
<LI><a href="#[2f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_init
<LI><a href="#[224]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_init
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_try_restore_i2c
<LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_start_i2c
<LI><a href="#[31d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_stop
<LI><a href="#[30b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_init
</UL>

<P><STRONG><a name="[f7]"></a>_port_irq_epilogue</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, chcore_v7m.o(i._port_irq_epilogue))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = _port_irq_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[129]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchIsPreemptionRequired
</UL>
<BR>[Called By]<UL><LI><a href="#[28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector88
<LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector14C
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorC8
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorC4
<LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector98
<LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector94
<LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector90
<LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector8C
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorFC
<LI><a href="#[27]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector84
<LI><a href="#[26]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector80
<LI><a href="#[25]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector7C
<LI><a href="#[24]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector78
<LI><a href="#[23]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector74
<LI><a href="#[22]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector70
<LI><a href="#[21]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector6C
<LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector158
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector154
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector150
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector130
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector12C
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector128
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector124
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector120
<LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorDC
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector15C
<LI><a href="#[15]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
<LI><a href="#[34]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorB8
</UL>

<P><STRONG><a name="[1b3]"></a>_scheduler_init</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, chschd.o(i._scheduler_init))
<BR><BR>[Called By]<UL><LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
</UL>

<P><STRONG><a name="[1b6]"></a>_thread_init</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, chthreads.o(i._thread_init))
<BR><BR>[Called By]<UL><LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
</UL>

<P><STRONG><a name="[12d]"></a>_tm_init</STRONG> (Thumb, 44 bytes, Stack size 32 bytes, chtm.o(i._tm_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = _tm_init
</UL>
<BR>[Calls]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chTMStopMeasurementX
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chTMStartMeasurementX
</UL>
<BR>[Called By]<UL><LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
</UL>

<P><STRONG><a name="[c0]"></a>_usb_ep0in</STRONG> (Thumb, 204 bytes, Stack size 16 bytes, usb.o(i._usb_ep0in))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = _usb_ep0in &rArr; usbStartTransmitI
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartTransmitI
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start_out
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_out
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_in
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_prepare_transmit
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_prepare_receive
</UL>
<BR>[Address Reference Count : 1]<UL><LI> usb_lld.o(.constdata)
</UL>
<P><STRONG><a name="[c1]"></a>_usb_ep0out</STRONG> (Thumb, 130 bytes, Stack size 16 bytes, usb.o(i._usb_ep0out))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = _usb_ep0out &rArr; usbStartTransmitI
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartTransmitI
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_out
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_in
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_prepare_transmit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> usb_lld.o(.constdata)
</UL>
<P><STRONG><a name="[bf]"></a>_usb_ep0setup</STRONG> (Thumb, 316 bytes, Stack size 16 bytes, usb.o(i._usb_ep0setup))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = _usb_ep0setup &rArr; default_handler
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartTransmitI
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start_out
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_out
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_in
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_read_setup
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_prepare_transmit
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_prepare_receive
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> usb_lld.o(.constdata)
</UL>
<P><STRONG><a name="[fa]"></a>_usb_reset</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, usb.o(i._usb_reset))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = _usb_reset &rArr; usb_lld_reset
</UL>
<BR>[Calls]<UL><LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector14C
</UL>

<P><STRONG><a name="[1b4]"></a>_vt_init</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, chvt.o(i._vt_init))
<BR><BR>[Called By]<UL><LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
</UL>

<P><STRONG><a name="[16c]"></a>app_adc_configure</STRONG> (Thumb, 162 bytes, Stack size 0 bytes, app_adc.o(i.app_adc_configure))
<BR><BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[1f1]"></a>app_adc_get_decoded_level</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, app_adc.o(i.app_adc_get_decoded_level))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1f3]"></a>app_adc_get_decoded_level2</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, app_adc.o(i.app_adc_get_decoded_level2))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1f2]"></a>app_adc_get_voltage</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, app_adc.o(i.app_adc_get_voltage))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1f4]"></a>app_adc_get_voltage2</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, app_adc.o(i.app_adc_get_voltage2))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[152]"></a>app_adc_start</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, app_adc.o(i.app_adc_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = app_adc_start &rArr; chThdCreateStatic &rArr; chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[154]"></a>app_adc_stop</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, app_adc.o(i.app_adc_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = app_adc_stop &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[189]"></a>app_get_configuration</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, app.o(i.app_get_configuration))
<BR><BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_start_pairing
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_send_buffer
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[155]"></a>app_nunchuk_configure</STRONG> (Thumb, 94 bytes, Stack size 0 bytes, app_nunchuk.o(i.app_nunchuk_configure))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = app_nunchuk_configure &rArr; terminal_register_command_callback &rArr; strcmp
</UL>
<BR>[Calls]<UL><LI><a href="#[156]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_register_command_callback
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[1f5]"></a>app_nunchuk_get_decoded_chuk</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, app_nunchuk.o(i.app_nunchuk_get_decoded_chuk))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[157]"></a>app_nunchuk_start</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, app_nunchuk.o(i.app_nunchuk_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = app_nunchuk_start &rArr; hw_start_i2c &rArr; i2cStart &rArr; i2c_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_start_i2c
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[159]"></a>app_nunchuk_stop</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, app_nunchuk.o(i.app_nunchuk_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = app_nunchuk_stop &rArr; hw_stop_i2c &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[15a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_stop_i2c
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[15b]"></a>app_nunchuk_update_output</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, app_nunchuk.o(i.app_nunchuk_update_output))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = app_nunchuk_update_output &rArr; chThdCreateStatic &rArr; chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[15c]"></a>app_ppm_configure</STRONG> (Thumb, 142 bytes, Stack size 0 bytes, app_ppm.o(i.app_ppm_configure))
<BR><BR>[Calls]<UL><LI><a href="#[15d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_set_pulse_options
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[1ef]"></a>app_ppm_get_decoded_level</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, app_ppm.o(i.app_ppm_get_decoded_level))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[15e]"></a>app_ppm_start</STRONG> (Thumb, 74 bytes, Stack size 32 bytes, app_ppm.o(i.app_ppm_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = app_ppm_start &rArr; chThdCreateStatic &rArr; chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[160]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chVTDoSetI
<LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chVTDoResetI
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[161]"></a>app_ppm_stop</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, app_ppm.o(i.app_ppm_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = app_ppm_stop &rArr; servodec_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignalI
<LI><a href="#[163]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[164]"></a>app_set_configuration</STRONG> (Thumb, 180 bytes, Stack size 16 bytes, app.o(i.app_set_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = app_set_configuration &rArr; nrf_driver_init &rArr; rfhelp_init &rArr; rf_write_reg &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_stop
<LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_init
<LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_baud
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_update_conf
<LI><a href="#[15a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_stop_i2c
<LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_stop
<LI><a href="#[169]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_start
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_configure
<LI><a href="#[161]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_stop
<LI><a href="#[15e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_start
<LI><a href="#[15c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_configure
<LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_stop
<LI><a href="#[157]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_start
<LI><a href="#[155]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_configure
<LI><a href="#[154]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_stop
<LI><a href="#[152]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_start
<LI><a href="#[16c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_configure
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[16d]"></a>app_uartcomm_configure</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, app_uartcomm.o(i.app_uartcomm_configure))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = app_uartcomm_configure &rArr; uartStart &rArr; uart_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStart
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[169]"></a>app_uartcomm_start</STRONG> (Thumb, 84 bytes, Stack size 16 bytes, app_uartcomm.o(i.app_uartcomm_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = app_uartcomm_start &rArr; uartStart &rArr; uart_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[170]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_init
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStart
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[166]"></a>app_uartcomm_stop</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, app_uartcomm.o(i.app_uartcomm_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = app_uartcomm_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStop
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[2c3]"></a>arm_cos_f32</STRONG> (Thumb, 108 bytes, Stack size 0 bytes, arm_cos_f32.o(i.arm_cos_f32))
<BR><BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
</UL>

<P><STRONG><a name="[2c2]"></a>arm_sin_f32</STRONG> (Thumb, 104 bytes, Stack size 0 bytes, arm_sin_f32.o(i.arm_sin_f32))
<BR><BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
</UL>

<P><STRONG><a name="[24b]"></a>boardInit</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, board.o(i.boardInit))
<BR><BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[1d1]"></a>buffer_append_float16</STRONG> (Thumb, 44 bytes, Stack size 4 bytes, buffer.o(i.buffer_append_float16))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = buffer_append_float16
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1c3]"></a>buffer_append_float32</STRONG> (Thumb, 72 bytes, Stack size 4 bytes, buffer.o(i.buffer_append_float32))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = buffer_append_float32
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_rel
<LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake_rel
</UL>

<P><STRONG><a name="[172]"></a>buffer_append_float32_auto</STRONG> (Thumb, 134 bytes, Stack size 16 bytes, buffer.o(i.buffer_append_float32_auto))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = buffer_append_float32_auto
</UL>
<BR>[Calls]<UL><LI><a href="#[173]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_frexpf
</UL>
<BR>[Called By]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_appconf
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sample_send_thread
</UL>

<P><STRONG><a name="[19c]"></a>buffer_append_int16</STRONG> (Thumb, 32 bytes, Stack size 4 bytes, buffer.o(i.buffer_append_int16))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = buffer_append_int16
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
</UL>

<P><STRONG><a name="[19a]"></a>buffer_append_int32</STRONG> (Thumb, 60 bytes, Stack size 4 bytes, buffer.o(i.buffer_append_int32))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = buffer_append_int32
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_rotor_pos
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;detect_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[14d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_duty
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current
</UL>

<P><STRONG><a name="[1f7]"></a>buffer_append_uint16</STRONG> (Thumb, 32 bytes, Stack size 4 bytes, buffer.o(i.buffer_append_uint16))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = buffer_append_uint16
</UL>
<BR>[Called By]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_appconf
</UL>

<P><STRONG><a name="[1e2]"></a>buffer_append_uint32</STRONG> (Thumb, 60 bytes, Stack size 4 bytes, buffer.o(i.buffer_append_uint32))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = buffer_append_uint32
</UL>
<BR>[Called By]<UL><LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_appconf
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[18a]"></a>buffer_get_float32</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, buffer.o(i.buffer_get_float32))
<BR><BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[174]"></a>buffer_get_float32_auto</STRONG> (Thumb, 76 bytes, Stack size 0 bytes, buffer.o(i.buffer_get_float32_auto))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = buffer_get_float32_auto &rArr; __hardfp_ldexpf
</UL>
<BR>[Calls]<UL><LI><a href="#[11c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_ldexpf
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[195]"></a>buffer_get_int16</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, buffer.o(i.buffer_get_int16))
<BR><BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[194]"></a>buffer_get_int32</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, buffer.o(i.buffer_get_int32))
<BR><BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1e3]"></a>buffer_get_uint16</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, buffer.o(i.buffer_get_uint16))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1cd]"></a>buffer_get_uint32</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, buffer.o(i.buffer_get_uint32))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[175]"></a>canInit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, can.o(i.canInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = canInit &rArr; can_lld_init &rArr; can_lld_set_filters
</UL>
<BR>[Calls]<UL><LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_init
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[183]"></a>canObjectInit</STRONG> (Thumb, 44 bytes, Stack size 0 bytes, can.o(i.canObjectInit))
<BR><BR>[Called By]<UL><LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_init
</UL>

<P><STRONG><a name="[177]"></a>canReceive</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, can.o(i.canReceive))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = canReceive &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdEnqueueTimeoutS
<LI><a href="#[17a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_receive
<LI><a href="#[179]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_is_rx_nonempty
</UL>
<BR>[Called By]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_read_thread
</UL>

<P><STRONG><a name="[17b]"></a>canStart</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, can.o(i.canStart))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = canStart &rArr; can_lld_start &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_start
</UL>
<BR>[Called By]<UL><LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_init
<LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_baud
</UL>

<P><STRONG><a name="[17d]"></a>canStop</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, can.o(i.canStop))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = canStop &rArr; chThdDequeueAllI
</UL>
<BR>[Calls]<UL><LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchRescheduleS
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[168]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_baud
</UL>

<P><STRONG><a name="[180]"></a>canTransmit</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, can.o(i.canTransmit))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdEnqueueTimeoutS
<LI><a href="#[182]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_transmit
<LI><a href="#[181]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_is_tx_empty
</UL>
<BR>[Called By]<UL><LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
</UL>

<P><STRONG><a name="[176]"></a>can_lld_init</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, can_lld.o(i.can_lld_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = can_lld_init &rArr; can_lld_set_filters
</UL>
<BR>[Calls]<UL><LI><a href="#[183]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canObjectInit
<LI><a href="#[184]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_set_filters
</UL>
<BR>[Called By]<UL><LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canInit
</UL>

<P><STRONG><a name="[179]"></a>can_lld_is_rx_nonempty</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, can_lld.o(i.can_lld_is_rx_nonempty))
<BR><BR>[Called By]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canReceive
</UL>

<P><STRONG><a name="[181]"></a>can_lld_is_tx_empty</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, can_lld.o(i.can_lld_is_tx_empty))
<BR><BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canTransmit
</UL>

<P><STRONG><a name="[17a]"></a>can_lld_receive</STRONG> (Thumb, 228 bytes, Stack size 4 bytes, can_lld.o(i.can_lld_receive))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = can_lld_receive
</UL>
<BR>[Called By]<UL><LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canReceive
</UL>

<P><STRONG><a name="[17c]"></a>can_lld_start</STRONG> (Thumb, 110 bytes, Stack size 8 bytes, can_lld.o(i.can_lld_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = can_lld_start &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canStart
</UL>

<P><STRONG><a name="[17e]"></a>can_lld_stop</STRONG> (Thumb, 62 bytes, Stack size 8 bytes, can_lld.o(i.can_lld_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = can_lld_stop
</UL>
<BR>[Calls]<UL><LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
</UL>
<BR>[Called By]<UL><LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canStop
</UL>

<P><STRONG><a name="[182]"></a>can_lld_transmit</STRONG> (Thumb, 118 bytes, Stack size 0 bytes, can_lld.o(i.can_lld_transmit))
<BR><BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canTransmit
</UL>

<P><STRONG><a name="[7d]"></a>chCoreAlloc</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, chmemcore.o(i.chCoreAlloc))
<BR>[Address Reference Count : 1]<UL><LI> chheap.o(i._heap_init)
</UL>
<P><STRONG><a name="[331]"></a>chCoreGetStatusX</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, chmemcore.o(i.chCoreGetStatusX))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[102]"></a>chEvtBroadcastFlagsI</STRONG> (Thumb, 86 bytes, Stack size 24 bytes, chevents.o(i.chEvtBroadcastFlagsI))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduDataTransmitted
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduDataReceived
<LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduConfigureHookI
<LI><a href="#[2c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector98
<LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector94
<LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector90
<LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector8C
</UL>

<P><STRONG><a name="[196]"></a>chEvtRegisterMaskWithFlags</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, chevents.o(i.chEvtRegisterMaskWithFlags))
<BR><BR>[Called By]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_read_thread
</UL>

<P><STRONG><a name="[198]"></a>chEvtSignal</STRONG> (Thumb, 58 bytes, Stack size 8 bytes, chevents.o(i.chEvtSignal))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = chEvtSignal
</UL>
<BR>[Calls]<UL><LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchRescheduleS
<LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
</UL>
<BR>[Called By]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_read_thread
<LI><a href="#[1e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_sample_print_data
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;serial_read_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[162]"></a>chEvtSignalI</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, chevents.o(i.chEvtSignalI))
<BR><BR>[Calls]<UL><LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[161]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_stop
<LI><a href="#[5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rxchar
<LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_func
</UL>

<P><STRONG><a name="[199]"></a>chEvtUnregister</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, chevents.o(i.chEvtUnregister))
<BR><BR>[Called By]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_read_thread
</UL>

<P><STRONG><a name="[188]"></a>chEvtWaitAny</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, chevents.o(i.chEvtWaitAny))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = chEvtWaitAny
</UL>
<BR>[Calls]<UL><LI><a href="#[1a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepS
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;detect_thread
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;serial_process_thread
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sample_send_thread
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_process_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[197]"></a>chEvtWaitAnyTimeout</STRONG> (Thumb, 64 bytes, Stack size 16 bytes, chevents.o(i.chEvtWaitAnyTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = chEvtWaitAnyTimeout &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_read_thread
</UL>

<P><STRONG><a name="[1a1]"></a>chHeapFree</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, chheap.o(i.chHeapFree))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = chHeapFree &rArr; chMtxLock &rArr; chMtxLockS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
</UL>
<BR>[Called By]<UL><LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdRelease
</UL>

<P><STRONG><a name="[1a4]"></a>chHeapStatus</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, chheap.o(i.chHeapStatus))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = chHeapStatus &rArr; chMtxLock &rArr; chMtxLockS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[1a5]"></a>chIQGetTimeout</STRONG> (Thumb, 84 bytes, Stack size 16 bytes, chqueues.o(i.chIQGetTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = chIQGetTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdEnqueueTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;gett
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;get
</UL>

<P><STRONG><a name="[326]"></a>chIQObjectInit</STRONG> (Thumb, 32 bytes, Stack size 4 bytes, chqueues.o(i.chIQObjectInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = chIQObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[1c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduObjectInit
</UL>

<P><STRONG><a name="[1a6]"></a>chIQReadTimeout</STRONG> (Thumb, 118 bytes, Stack size 40 bytes, chqueues.o(i.chIQReadTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = chIQReadTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdEnqueueTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readt
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;read
</UL>

<P><STRONG><a name="[1a7]"></a>chIQResetI</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, chqueues.o(i.chIQResetI))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = chIQResetI &rArr; chThdDequeueAllI
</UL>
<BR>[Calls]<UL><LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
</UL>
<BR>[Called By]<UL><LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduConfigureHookI
</UL>

<P><STRONG><a name="[1a2]"></a>chMtxLock</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, chmtx.o(i.chMtxLock))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = chMtxLock &rArr; chMtxLockS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLockS
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet_wrapper
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
<LI><a href="#[1a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chHeapStatus
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cAcquireBus
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
<LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
<LI><a href="#[322]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_power_up
<LI><a href="#[1a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chHeapFree
</UL>

<P><STRONG><a name="[1a8]"></a>chMtxLockS</STRONG> (Thumb, 204 bytes, Stack size 16 bytes, chmtx.o(i.chMtxLockS))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = chMtxLockS
</UL>
<BR>[Calls]<UL><LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
<LI><a href="#[1a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepS
</UL>
<BR>[Called By]<UL><LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
</UL>

<P><STRONG><a name="[126]"></a>chMtxObjectInit</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, chmtx.o(i.chMtxObjectInit))
<BR><BR>[Called By]<UL><LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_init
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_init
<LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_init
<LI><a href="#[32a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spiObjectInit
<LI><a href="#[258]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cObjectInit
<LI><a href="#[125]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_heap_init
</UL>

<P><STRONG><a name="[1a3]"></a>chMtxUnlock</STRONG> (Thumb, 94 bytes, Stack size 8 bytes, chmtx.o(i.chMtxUnlock))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = chMtxUnlock
</UL>
<BR>[Calls]<UL><LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchRescheduleS
<LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet_wrapper
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
<LI><a href="#[1a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chHeapStatus
<LI><a href="#[1bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cReleaseBus
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
<LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
<LI><a href="#[322]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_power_up
<LI><a href="#[1a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chHeapFree
</UL>

<P><STRONG><a name="[327]"></a>chOQObjectInit</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, chqueues.o(i.chOQObjectInit))
<BR><BR>[Called By]<UL><LI><a href="#[1c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduObjectInit
</UL>

<P><STRONG><a name="[1a9]"></a>chOQPutTimeout</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, chqueues.o(i.chOQPutTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = chOQPutTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdEnqueueTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;putt
<LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;put
</UL>

<P><STRONG><a name="[1aa]"></a>chOQResetI</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, chqueues.o(i.chOQResetI))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = chOQResetI &rArr; chThdDequeueAllI
</UL>
<BR>[Calls]<UL><LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
</UL>
<BR>[Called By]<UL><LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduConfigureHookI
</UL>

<P><STRONG><a name="[1ab]"></a>chOQWriteTimeout</STRONG> (Thumb, 118 bytes, Stack size 40 bytes, chqueues.o(i.chOQWriteTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = chOQWriteTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdEnqueueTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writet
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;write
</UL>

<P><STRONG><a name="[1b8]"></a>chPoolFree</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, chmempools.o(i.chPoolFree))
<BR><BR>[Called By]<UL><LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdRelease
</UL>

<P><STRONG><a name="[332]"></a>chRegFirstThread</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, chregistry.o(i.chRegFirstThread))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[1ac]"></a>chRegNextThread</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, chregistry.o(i.chRegNextThread))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = chRegNextThread &rArr; chThdRelease &rArr; chHeapFree &rArr; chMtxLock &rArr; chMtxLockS
</UL>
<BR>[Calls]<UL><LI><a href="#[1ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdRelease
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[c6]"></a>chSchDoReschedule</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, chschd.o(i.chSchDoReschedule))
<BR><BR>[Calls]<UL><LI><a href="#[1af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoRescheduleBehind
<LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoRescheduleAhead
</UL>
<BR>[Called By]<UL><LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_switch_from_isr
</UL>

<P><STRONG><a name="[1ae]"></a>chSchDoRescheduleAhead</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, chschd.o(i.chSchDoRescheduleAhead))
<BR><BR>[Calls]<UL><LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchRescheduleS
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoReschedule
</UL>

<P><STRONG><a name="[1af]"></a>chSchDoRescheduleBehind</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, chschd.o(i.chSchDoRescheduleBehind))
<BR><BR>[Calls]<UL><LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoReschedule
</UL>

<P><STRONG><a name="[1a0]"></a>chSchGoSleepS</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, chschd.o(i.chSchGoSleepS))
<BR><BR>[Calls]<UL><LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAny
<LI><a href="#[1b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSuspendS
<LI><a href="#[1a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLockS
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdExit
</UL>

<P><STRONG><a name="[186]"></a>chSchGoSleepTimeoutS</STRONG> (Thumb, 106 bytes, Stack size 40 bytes, chschd.o(i.chSchGoSleepTimeoutS))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[160]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chVTDoSetI
<LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chVTDoResetI
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAnyTimeout
<LI><a href="#[178]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdEnqueueTimeoutS
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_start
<LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSuspendTimeoutS
</UL>

<P><STRONG><a name="[129]"></a>chSchIsPreemptionRequired</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, chschd.o(i.chSchIsPreemptionRequired))
<BR><BR>[Called By]<UL><LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_irq_epilogue
</UL>

<P><STRONG><a name="[19f]"></a>chSchReadyI</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, chschd.o(i.chSchReadyI))
<BR><BR>[Called By]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignal
<LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignalI
<LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
<LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
<LI><a href="#[1b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchWakeupS
<LI><a href="#[1a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLockS
<LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start
<LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdResumeI
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdExit
</UL>

<P><STRONG><a name="[17f]"></a>chSchRescheduleS</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, chschd.o(i.chSchRescheduleS))
<BR><BR>[Calls]<UL><LI><a href="#[1ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchDoRescheduleAhead
</UL>
<BR>[Called By]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignal
<LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canStop
<LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_pump
</UL>

<P><STRONG><a name="[1b1]"></a>chSchWakeupS</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, chschd.o(i.chSchWakeupS))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
<LI><a href="#[1b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_switch
</UL>
<BR>[Called By]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
</UL>

<P><STRONG><a name="[25b]"></a>chSysHalt</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, chsys.o(i.chSysHalt))
<BR><BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_serve_tx_end_irq
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_serve_rx_end_irq
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_serve_tx_end_irq
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_serve_rx_end_irq
</UL>

<P><STRONG><a name="[1b2]"></a>chSysInit</STRONG> (Thumb, 142 bytes, Stack size 16 bytes, chsys.o(i.chSysInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = chSysInit &rArr; chThdCreateStatic &rArr; chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[125]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_heap_init
<LI><a href="#[1b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scheduler_init
<LI><a href="#[1b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_core_init
<LI><a href="#[1b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_vt_init
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_tm_init
<LI><a href="#[1b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_thread_init
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[347]"></a>chSysPolledDelayX</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, chsys.o(i.chSysPolledDelayX))
<BR><BR>[Called By]<UL><LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_reset
<LI><a href="#[342]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_init_endpoint
</UL>

<P><STRONG><a name="[f6]"></a>chSysTimerHandlerI</STRONG> (Thumb, 98 bytes, Stack size 24 bytes, chsys.o(i.chSysTimerHandlerI))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = chSysTimerHandlerI
</UL>
<BR>[Called By]<UL><LI><a href="#[15]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>

<P><STRONG><a name="[12e]"></a>chTMStartMeasurementX</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, chtm.o(i.chTMStartMeasurementX))
<BR><BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_tm_init
</UL>

<P><STRONG><a name="[12f]"></a>chTMStopMeasurementX</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, chtm.o(i.chTMStopMeasurementX))
<BR><BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_tm_init
</UL>

<P><STRONG><a name="[1b7]"></a>chThdCreateI</STRONG> (Thumb, 86 bytes, Stack size 4 bytes, chthreads.o(i.chThdCreateI))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = chThdCreateI
</UL>
<BR>[Called By]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start
</UL>

<P><STRONG><a name="[153]"></a>chThdCreateStatic</STRONG> (Thumb, 38 bytes, Stack size 16 bytes, chthreads.o(i.chThdCreateStatic))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = chThdCreateStatic &rArr; chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[1b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateI
<LI><a href="#[1b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchWakeupS
</UL>
<BR>[Called By]<UL><LI><a href="#[26c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_init
<LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_init
<LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[1c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_init
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_init
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_init
<LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[15b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_update_output
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[169]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_start
<LI><a href="#[15e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_start
<LI><a href="#[157]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_start
<LI><a href="#[152]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_start
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[101]"></a>chThdDequeueAllI</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, chthreads.o(i.chThdDequeueAllI))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = chThdDequeueAllI
</UL>
<BR>[Calls]<UL><LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
</UL>
<BR>[Called By]<UL><LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canStop
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQResetI
<LI><a href="#[1a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQResetI
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_pump
<LI><a href="#[2b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector94
<LI><a href="#[2a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector90
<LI><a href="#[29]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector8C
</UL>

<P><STRONG><a name="[178]"></a>chThdEnqueueTimeoutS</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, chthreads.o(i.chThdEnqueueTimeoutS))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canTransmit
<LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canReceive
<LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQWriteTimeout
<LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQPutTimeout
<LI><a href="#[1a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQReadTimeout
<LI><a href="#[1a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQGetTimeout
</UL>

<P><STRONG><a name="[c5]"></a>chThdExit</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, chthreads.o(i.chThdExit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = chThdExit
</UL>
<BR>[Calls]<UL><LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
<LI><a href="#[1a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepS
</UL>
<BR>[Called By]<UL><LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_port_thread_start
</UL>

<P><STRONG><a name="[1ad]"></a>chThdRelease</STRONG> (Thumb, 86 bytes, Stack size 0 bytes, chdynamic.o(i.chThdRelease))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = chThdRelease &rArr; chHeapFree &rArr; chMtxLock &rArr; chMtxLockS
</UL>
<BR>[Calls]<UL><LI><a href="#[1b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chPoolFree
<LI><a href="#[1a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chHeapFree
</UL>
<BR>[Called By]<UL><LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chRegNextThread
</UL>

<P><STRONG><a name="[fb]"></a>chThdResumeI</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, chthreads.o(i.chThdResumeI))
<BR><BR>[Calls]<UL><LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
</UL>
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector14C
<LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;otg_epin_handler
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorC8
<LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorC4
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_serve_rx_end_irq
</UL>

<P><STRONG><a name="[13a]"></a>chThdSleep</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, chthreads.o(i.chThdSleep))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_stop
<LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_init
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_serial_init
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[161]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_stop
<LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_stop
<LI><a href="#[154]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_stop
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_thread
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rpm_thread
<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tx_thread
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
<LI><a href="#[224]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_init
<LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_try_restore_i2c
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[1b9]"></a>chThdSuspendS</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, chthreads.o(i.chThdSuspendS))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = chThdSuspendS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepS
</UL>
<BR>[Called By]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_pump
</UL>

<P><STRONG><a name="[1ba]"></a>chThdSuspendTimeoutS</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, chthreads.o(i.chThdSuspendTimeoutS))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = chThdSuspendTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_master_transmit_timeout
<LI><a href="#[256]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_master_receive_timeout
</UL>

<P><STRONG><a name="[15f]"></a>chVTDoResetI</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, chvt.o(i.chVTDoResetI))
<BR><BR>[Called By]<UL><LI><a href="#[15e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_start
<LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update
<LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
</UL>

<P><STRONG><a name="[160]"></a>chVTDoSetI</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, chvt.o(i.chVTDoSetI))
<BR><BR>[Called By]<UL><LI><a href="#[15e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_start
<LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update
<LI><a href="#[186]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchGoSleepTimeoutS
</UL>

<P><STRONG><a name="[147]"></a>comm_can_get_status_msg_index</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, comm_can.o(i.comm_can_get_status_msg_index))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[1c1]"></a>comm_can_init</STRONG> (Thumb, 122 bytes, Stack size 16 bytes, comm_can.o(i.comm_can_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = comm_can_init &rArr; canStart &rArr; can_lld_start &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxObjectInit
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canStart
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[1c2]"></a>comm_can_send_buffer</STRONG> (Thumb, 248 bytes, Stack size 48 bytes, comm_can.o(i.comm_can_send_buffer))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = comm_can_send_buffer &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_get_configuration
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet_wrapper
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[168]"></a>comm_can_set_baud</STRONG> (Thumb, 108 bytes, Stack size 8 bytes, comm_can.o(i.comm_can_set_baud))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = comm_can_set_baud &rArr; canStart &rArr; can_lld_start &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[17d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canStop
<LI><a href="#[17b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canStart
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>

<P><STRONG><a name="[14b]"></a>comm_can_set_current</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, comm_can.o(i.comm_can_set_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = comm_can_set_current &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int32
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
</UL>
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[148]"></a>comm_can_set_current_brake</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, comm_can.o(i.comm_can_set_current_brake))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = comm_can_set_current_brake &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int32
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
</UL>
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[14f]"></a>comm_can_set_current_brake_rel</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, comm_can.o(i.comm_can_set_current_brake_rel))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = comm_can_set_current_brake_rel &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float32
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
</UL>
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
</UL>

<P><STRONG><a name="[150]"></a>comm_can_set_current_rel</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, comm_can.o(i.comm_can_set_current_rel))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = comm_can_set_current_rel &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float32
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
</UL>
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
</UL>

<P><STRONG><a name="[14d]"></a>comm_can_set_duty</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, comm_can.o(i.comm_can_set_duty))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = comm_can_set_duty &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int32
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
</UL>
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
</UL>

<P><STRONG><a name="[19e]"></a>comm_can_transmit_eid</STRONG> (Thumb, 66 bytes, Stack size 24 bytes, comm_can.o(i.comm_can_transmit_eid))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
<LI><a href="#[180]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canTransmit
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
<LI><a href="#[14d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_duty
<LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_rel
<LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake_rel
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_send_buffer
</UL>

<P><STRONG><a name="[1c4]"></a>comm_usb_init</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, comm_usb.o(i.comm_usb_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = comm_usb_init &rArr; comm_usb_serial_init &rArr; usbStart &rArr; usb_lld_start &rArr; otg_disable_ep
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[170]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_init
<LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_serial_init
<LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[1c5]"></a>comm_usb_serial_init</STRONG> (Thumb, 84 bytes, Stack size 8 bytes, comm_usb_serial.o(i.comm_usb_serial_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = comm_usb_serial_init &rArr; usbStart &rArr; usb_lld_start &rArr; otg_disable_ep
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[1c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStart
<LI><a href="#[1c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduStart
<LI><a href="#[1c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduObjectInit
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
</UL>
<BR>[Called By]<UL><LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_init
</UL>

<P><STRONG><a name="[2f7]"></a>commands_get_disp_pos_mode</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, commands.o(i.commands_get_disp_pos_mode))
<BR><BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[1c9]"></a>commands_init</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, commands.o(i.commands_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = commands_init &rArr; chThdCreateStatic &rArr; chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[1ca]"></a>commands_printf</STRONG> (Thumb, 52 bytes, Stack size 24 bytes, commands.o(i.commands_printf))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = commands_printf &rArr; vsnprintf
</UL>
<BR>[Calls]<UL><LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_packet
<LI><a href="#[1cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;vsnprintf
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[2e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_print_state
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_write_reg
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_set_oc_adj
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_read_reg
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_print_faults
<LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_cmd_nunchuk_status
</UL>

<P><STRONG><a name="[191]"></a>commands_process_packet</STRONG> (Thumb, 11568 bytes, Stack size 304 bytes, commands.o(i.commands_process_packet))
<BR><BR>[Stack]<UL><LI>Max Depth = 1128<LI>Call Chain = commands_process_packet &rArr; terminal_process_string &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_uint32
<LI><a href="#[1e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_uint16
<LI><a href="#[194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_int32
<LI><a href="#[195]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_int16
<LI><a href="#[174]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_float32_auto
<LI><a href="#[18a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_float32
<LI><a href="#[1e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_uint32
<LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int32
<LI><a href="#[172]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float32_auto
<LI><a href="#[1c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float32
<LI><a href="#[1d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float16
<LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_pid_pos_now
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_fault
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_is_configured
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_get_last_pulse_len
<LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_start_pairing
<LI><a href="#[1dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_detect
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_res_ind
<LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_temp_motor_filtered
<LI><a href="#[1d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_temp_fet_filtered
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
<LI><a href="#[1e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_sample_print_data
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
<LI><a href="#[1d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_read_reset_avg_motor_current
<LI><a href="#[1d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_read_reset_avg_iq
<LI><a href="#[1d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_read_reset_avg_input_current
<LI><a href="#[1d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_read_reset_avg_id
<LI><a href="#[1da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_watt_hours_charged
<LI><a href="#[1d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_watt_hours
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_value
<LI><a href="#[1dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_abs_value
<LI><a href="#[14c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_duty_cycle_now
<LI><a href="#[1d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_amp_hours_charged
<LI><a href="#[1d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_amp_hours
<LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_jump_to_bootloader
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[1e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_get_default_mc_configuration
<LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_get_default_app_configuration
<LI><a href="#[1ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_get_decoded_level
<LI><a href="#[15b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_update_output
<LI><a href="#[1f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_get_decoded_chuk
<LI><a href="#[1f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_get_voltage2
<LI><a href="#[1f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_get_voltage
<LI><a href="#[1f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_get_decoded_level2
<LI><a href="#[1f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_adc_get_decoded_level
<LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_appconf
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
<LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_pos
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_packet
<LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignal
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_get_configuration
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_send_buffer
<LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memset
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;process_packet
</UL>

<P><STRONG><a name="[1e7]"></a>commands_send_appconf</STRONG> (Thumb, 720 bytes, Stack size 16 bytes, commands.o(i.commands_send_appconf))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = commands_send_appconf &rArr; buffer_append_float32_auto
</UL>
<BR>[Calls]<UL><LI><a href="#[1e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_uint32
<LI><a href="#[1f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_uint16
<LI><a href="#[172]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float32_auto
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_packet
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[190]"></a>commands_send_packet</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, commands.o(i.commands_send_packet))
<BR><BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_rotor_pos
<LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_appconf
<LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sample_send_thread
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[1f8]"></a>commands_send_rotor_pos</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, commands.o(i.commands_send_rotor_pos))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = commands_send_rotor_pos &rArr; buffer_append_int32
</UL>
<BR>[Calls]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int32
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_packet
</UL>
<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[18f]"></a>commands_set_send_func</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, commands.o(i.commands_set_send_func))
<BR><BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;process_packet
</UL>

<P><STRONG><a name="[202]"></a>conf_general_detect_motor_param</STRONG> (Thumb, 1724 bytes, Stack size 104 bytes, conf_general.o(i.conf_general_detect_motor_param))
<BR><BR>[Stack]<UL><LI>Max Depth = 448<LI>Call Chain = conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_fault
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[206]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_switch_comm_mode
<LI><a href="#[207]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_reset_hall_detect_table
<LI><a href="#[209]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_read_reset_avg_cycle_integrator
<LI><a href="#[20a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_hall_detect_result
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[205]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock_override_once
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_value
<LI><a href="#[14c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_duty_cycle_now
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;detect_thread
</UL>

<P><STRONG><a name="[1e6]"></a>conf_general_get_default_app_configuration</STRONG> (Thumb, 326 bytes, Stack size 8 bytes, conf_general.o(i.conf_general_get_default_app_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = conf_general_get_default_app_configuration
</UL>
<BR>[Calls]<UL><LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[20f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_read_app_configuration
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1e1]"></a>conf_general_get_default_mc_configuration</STRONG> (Thumb, 696 bytes, Stack size 8 bytes, conf_general.o(i.conf_general_get_default_mc_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = conf_general_get_default_mc_configuration
</UL>
<BR>[Calls]<UL><LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[210]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_read_mc_configuration
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[20c]"></a>conf_general_init</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, conf_general.o(i.conf_general_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = conf_general_init &rArr; EE_Init &rArr; EE_VerifyPageFullWriteVariable &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[20d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ClearFlag
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_Init
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[1eb]"></a>conf_general_measure_flux_linkage</STRONG> (Thumb, 1634 bytes, Stack size 88 bytes, conf_general.o(i.conf_general_measure_flux_linkage))
<BR><BR>[Stack]<UL><LI>Max Depth = 432<LI>Call Chain = conf_general_measure_flux_linkage &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_fault
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[206]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_switch_comm_mode
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[205]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock_override_once
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
<LI><a href="#[14c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_duty_cycle_now
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
<LI><a href="#[19b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[20f]"></a>conf_general_read_app_configuration</STRONG> (Thumb, 64 bytes, Stack size 24 bytes, conf_general.o(i.conf_general_read_app_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = conf_general_read_app_configuration &rArr; EE_ReadVariable
</UL>
<BR>[Calls]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_ReadVariable
<LI><a href="#[1e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_get_default_app_configuration
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[210]"></a>conf_general_read_mc_configuration</STRONG> (Thumb, 64 bytes, Stack size 24 bytes, conf_general.o(i.conf_general_read_mc_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = conf_general_read_mc_configuration &rArr; EE_ReadVariable
</UL>
<BR>[Calls]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_ReadVariable
<LI><a href="#[1e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_get_default_mc_configuration
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[1e4]"></a>conf_general_store_app_configuration</STRONG> (Thumb, 106 bytes, Stack size 16 bytes, conf_general.o(i.conf_general_store_app_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = conf_general_store_app_configuration &rArr; mc_interface_release_motor &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ClearFlag
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_WriteVariable
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[1df]"></a>conf_general_store_mc_configuration</STRONG> (Thumb, 106 bytes, Stack size 16 bytes, conf_general.o(i.conf_general_store_mc_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = conf_general_store_mc_configuration &rArr; mc_interface_release_motor &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ClearFlag
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_WriteVariable
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[18e]"></a>crc16</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, crc.o(i.crc16))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = crc16
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[2f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_send_packet
<LI><a href="#[2f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_process_byte
<LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_send_buffer
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data_crc
<LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_send_buffer
</UL>

<P><STRONG><a name="[24d]"></a>dmaInit</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, stm32_dma.o(i.dmaInit))
<BR><BR>[Called By]<UL><LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_lld_init
</UL>

<P><STRONG><a name="[220]"></a>dmaStreamAllocate</STRONG> (Thumb, 176 bytes, Stack size 24 bytes, stm32_dma.o(i.dmaStreamAllocate))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_start
<LI><a href="#[339]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_start
</UL>

<P><STRONG><a name="[221]"></a>dmaStreamRelease</STRONG> (Thumb, 60 bytes, Stack size 8 bytes, stm32_dma.o(i.dmaStreamRelease))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = dmaStreamRelease
</UL>
<BR>[Calls]<UL><LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
</UL>
<BR>[Called By]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_stop
<LI><a href="#[33b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_stop
</UL>

<P><STRONG><a name="[222]"></a>drv8301_faults_to_string</STRONG> (Thumb, 208 bytes, Stack size 8 bytes, drv8301.o(i.drv8301_faults_to_string))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = drv8301_faults_to_string
</UL>
<BR>[Calls]<UL><LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcat
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_print_faults
</UL>

<P><STRONG><a name="[224]"></a>drv8301_init</STRONG> (Thumb, 144 bytes, Stack size 8 bytes, drv8301.o(i.drv8301_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = drv8301_init &rArr; drv8301_write_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[156]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_register_command_callback
<LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_write_reg
</UL>
<BR>[Called By]<UL><LI><a href="#[24e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_init_gpio
</UL>

<P><STRONG><a name="[226]"></a>drv8301_read_faults</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, drv8301.o(i.drv8301_read_faults))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = drv8301_read_faults &rArr; drv8301_read_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
</UL>
<BR>[Called By]<UL><LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[227]"></a>drv8301_read_reg</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, drv8301.o(i.drv8301_read_reg))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = drv8301_read_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_exchange
</UL>
<BR>[Called By]<UL><LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_mode
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_adj
<LI><a href="#[226]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_faults
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_write_reg
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_set_oc_adj
<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_reset_faults
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_read_reg
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_print_faults
</UL>

<P><STRONG><a name="[229]"></a>drv8301_set_oc_adj</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, drv8301.o(i.drv8301_set_oc_adj))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = drv8301_set_oc_adj &rArr; drv8301_read_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_write_reg
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
</UL>
<BR>[Called By]<UL><LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[22a]"></a>drv8301_set_oc_mode</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, drv8301.o(i.drv8301_set_oc_mode))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = drv8301_set_oc_mode &rArr; drv8301_read_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_write_reg
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
</UL>
<BR>[Called By]<UL><LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[225]"></a>drv8301_write_reg</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, drv8301.o(i.drv8301_write_reg))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = drv8301_write_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_exchange
</UL>
<BR>[Called By]<UL><LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_mode
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_adj
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_write_reg
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_set_oc_adj
<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_reset_faults
<LI><a href="#[224]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_init
</UL>

<P><STRONG><a name="[22b]"></a>encoder_deinit</STRONG> (Thumb, 90 bytes, Stack size 8 bytes, encoder.o(i.encoder_deinit))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = encoder_deinit &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_DeInit
</UL>
<BR>[Called By]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[2bd]"></a>encoder_index_found</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, encoder.o(i.encoder_index_found))
<BR><BR>[Called By]<UL><LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[22c]"></a>encoder_init_abi</STRONG> (Thumb, 150 bytes, Stack size 32 bytes, encoder.o(i.encoder_init_abi))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = encoder_init_abi &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SetAutoreload
<LI><a href="#[22e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_EncoderInterfaceConfig
<LI><a href="#[230]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Cmd
<LI><a href="#[231]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SYSCFG_EXTILineConfig
<LI><a href="#[22d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[232]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EXTI_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[233]"></a>encoder_init_as5047p_spi</STRONG> (Thumb, 118 bytes, Stack size 24 bytes, encoder.o(i.encoder_init_as5047p_spi))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = encoder_init_as5047p_spi &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[234]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimeBaseInit
<LI><a href="#[235]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ITConfig
<LI><a href="#[230]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Cmd
</UL>
<BR>[Called By]<UL><LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[1ec]"></a>encoder_is_configured</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, encoder.o(i.encoder_is_configured))
<BR><BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
</UL>

<P><STRONG><a name="[283]"></a>encoder_read_deg</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, encoder.o(i.encoder_read_deg))
<BR><BR>[Called By]<UL><LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_pid_pos_now
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
</UL>

<P><STRONG><a name="[104]"></a>encoder_reset</STRONG> (Thumb, 96 bytes, Stack size 8 bytes, encoder.o(i.encoder_reset))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = encoder_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[2d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector9C
</UL>

<P><STRONG><a name="[236]"></a>encoder_set_counts</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, encoder.o(i.encoder_set_counts))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = encoder_set_counts
</UL>
<BR>[Calls]<UL><LI><a href="#[22f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SetAutoreload
</UL>
<BR>[Called By]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[107]"></a>encoder_tim_isr</STRONG> (Thumb, 200 bytes, Stack size 48 bytes, encoder.o(i.encoder_tim_isr))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = encoder_tim_isr
</UL>
<BR>[Calls]<UL><LI><a href="#[237]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_middle_of_3_int
</UL>
<BR>[Called By]<UL><LI><a href="#[33]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorB4
</UL>

<P><STRONG><a name="[2b4]"></a>filter_add_sample</STRONG> (Thumb, 32 bytes, Stack size 0 bytes, digital_filter.o(i.filter_add_sample))
<BR><BR>[Called By]<UL><LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
</UL>

<P><STRONG><a name="[238]"></a>filter_create_fir_lowpass</STRONG> (Thumb, 212 bytes, Stack size 32 bytes, digital_filter.o(i.filter_create_fir_lowpass))
<BR><BR>[Stack]<UL><LI>Max Depth = 100<LI>Call Chain = filter_create_fir_lowpass &rArr; filter_hamming &rArr; __hardfp_cosf &rArr; __mathlib_rredf2
</UL>
<BR>[Calls]<UL><LI><a href="#[23b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_hamming
<LI><a href="#[23a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_fft
<LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
<LI><a href="#[23c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
</UL>

<P><STRONG><a name="[23a]"></a>filter_fft</STRONG> (Thumb, 416 bytes, Stack size 32 bytes, digital_filter.o(i.filter_fft))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = filter_fft
</UL>
<BR>[Called By]<UL><LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_create_fir_lowpass
</UL>

<P><STRONG><a name="[23b]"></a>filter_hamming</STRONG> (Thumb, 212 bytes, Stack size 40 bytes, digital_filter.o(i.filter_hamming))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = filter_hamming &rArr; __hardfp_cosf &rArr; __mathlib_rredf2
</UL>
<BR>[Calls]<UL><LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_cosf
</UL>
<BR>[Called By]<UL><LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_create_fir_lowpass
</UL>

<P><STRONG><a name="[2b5]"></a>filter_run_fir_iteration</STRONG> (Thumb, 70 bytes, Stack size 8 bytes, digital_filter.o(i.filter_run_fir_iteration))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = filter_run_fir_iteration
</UL>
<BR>[Called By]<UL><LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
<LI><a href="#[2e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_kv_filtered
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
</UL>

<P><STRONG><a name="[1ce]"></a>flash_helper_erase_new_app</STRONG> (Thumb, 110 bytes, Stack size 24 bytes, flash_helper.o(i.flash_helper_erase_new_app))
<BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = flash_helper_erase_new_app &rArr; mc_interface_release_motor &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EraseSector
<LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[20d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_Unlock
<LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ClearFlag
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[eb]"></a>flash_helper_get_sector_address</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, flash_helper.o(i.flash_helper_get_sector_address))
<BR><BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_EraseSectorIfNotEmpty
</UL>

<P><STRONG><a name="[1cc]"></a>flash_helper_jump_to_bootloader</STRONG> (Thumb, 116 bytes, Stack size 8 bytes, flash_helper.o(i.flash_helper_jump_to_bootloader))
<BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = flash_helper_jump_to_bootloader &rArr; mc_interface_release_motor &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[23d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStop
<LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStop
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1cf]"></a>flash_helper_write_new_app_data</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, flash_helper.o(i.flash_helper_write_new_app_data))
<BR><BR>[Stack]<UL><LI>Max Depth = 192<LI>Call Chain = flash_helper_write_new_app_data &rArr; mc_interface_release_motor &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[20e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ClearFlag
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
<LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramByte
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[23c]"></a>free</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, malloc.o(i.free))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = free
</UL>
<BR>[Called By]<UL><LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_create_fir_lowpass
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data_crc
</UL>

<P><STRONG><a name="[243]"></a>halInit</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, hal.o(i.halInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = halInit &rArr; canInit &rArr; can_lld_init &rArr; can_lld_set_filters
</UL>
<BR>[Calls]<UL><LI><a href="#[24b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;boardInit
<LI><a href="#[246]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuInit
<LI><a href="#[245]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cInit
<LI><a href="#[244]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hal_lld_init
<LI><a href="#[127]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_init
<LI><a href="#[175]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canInit
<LI><a href="#[249]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbInit
<LI><a href="#[248]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartInit
<LI><a href="#[24c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stInit
<LI><a href="#[247]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spiInit
<LI><a href="#[24a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduInit
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[244]"></a>hal_lld_init</STRONG> (Thumb, 96 bytes, Stack size 0 bytes, hal_lld.o(i.hal_lld_init))
<BR><BR>[Calls]<UL><LI><a href="#[24d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaInit
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[24e]"></a>hw_init_gpio</STRONG> (Thumb, 320 bytes, Stack size 16 bytes, hw_60.o(i.hw_init_gpio))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = hw_init_gpio &rArr; drv8301_init &rArr; drv8301_write_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[24f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_AHB1PeriphClockCmd
<LI><a href="#[224]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_init
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[250]"></a>hw_setup_adc_channels</STRONG> (Thumb, 300 bytes, Stack size 16 bytes, hw_60.o(i.hw_setup_adc_channels))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = hw_setup_adc_channels &rArr; ADC_RegularChannelConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[251]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_RegularChannelConfig
<LI><a href="#[252]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_InjectedChannelConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
</UL>

<P><STRONG><a name="[158]"></a>hw_start_i2c</STRONG> (Thumb, 64 bytes, Stack size 16 bytes, hw_60.o(i.hw_start_i2c))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = hw_start_i2c &rArr; i2cStart &rArr; i2c_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[253]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cStart
<LI><a href="#[1bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cReleaseBus
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cAcquireBus
</UL>
<BR>[Called By]<UL><LI><a href="#[157]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_start
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[15a]"></a>hw_stop_i2c</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, hw_60.o(i.hw_stop_i2c))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = hw_stop_i2c &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[254]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cStop
<LI><a href="#[1bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cReleaseBus
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cAcquireBus
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[159]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_stop
</UL>

<P><STRONG><a name="[1c0]"></a>hw_try_restore_i2c</STRONG> (Thumb, 178 bytes, Stack size 32 bytes, hw_60.o(i.hw_try_restore_i2c))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = hw_try_restore_i2c &rArr; i2cStart &rArr; i2c_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[253]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cStart
<LI><a href="#[1bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cReleaseBus
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cAcquireBus
</UL>
<BR>[Called By]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[1bb]"></a>i2cAcquireBus</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, i2c.o(i.i2cAcquireBus))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = i2cAcquireBus &rArr; chMtxLock &rArr; chMtxLockS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
</UL>
<BR>[Called By]<UL><LI><a href="#[15a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_stop_i2c
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_try_restore_i2c
<LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_start_i2c
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[245]"></a>i2cInit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, i2c.o(i.i2cInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = i2cInit &rArr; i2c_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[255]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_init
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[1be]"></a>i2cMasterReceiveTimeout</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, i2c.o(i.i2cMasterReceiveTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = i2cMasterReceiveTimeout &rArr; i2c_lld_master_receive_timeout &rArr; chThdSuspendTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[256]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_master_receive_timeout
</UL>
<BR>[Called By]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[1bc]"></a>i2cMasterTransmitTimeout</STRONG> (Thumb, 62 bytes, Stack size 32 bytes, i2c.o(i.i2cMasterTransmitTimeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = i2cMasterTransmitTimeout &rArr; i2c_lld_master_transmit_timeout &rArr; chThdSuspendTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[257]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_master_transmit_timeout
</UL>
<BR>[Called By]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[258]"></a>i2cObjectInit</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, i2c.o(i.i2cObjectInit))
<BR><BR>[Calls]<UL><LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[255]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_init
</UL>

<P><STRONG><a name="[1bd]"></a>i2cReleaseBus</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, i2c.o(i.i2cReleaseBus))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = i2cReleaseBus &rArr; chMtxUnlock
</UL>
<BR>[Calls]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
</UL>
<BR>[Called By]<UL><LI><a href="#[15a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_stop_i2c
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_try_restore_i2c
<LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_start_i2c
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[253]"></a>i2cStart</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, i2c.o(i.i2cStart))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = i2cStart &rArr; i2c_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_start
</UL>
<BR>[Called By]<UL><LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_try_restore_i2c
<LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_start_i2c
</UL>

<P><STRONG><a name="[254]"></a>i2cStop</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, i2c.o(i.i2cStop))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = i2cStop &rArr; i2c_lld_stop &rArr; dmaStreamRelease
</UL>
<BR>[Calls]<UL><LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[15a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_stop_i2c
</UL>

<P><STRONG><a name="[255]"></a>i2c_lld_init</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, i2c_lld.o(i.i2c_lld_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = i2c_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[258]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[245]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cInit
</UL>

<P><STRONG><a name="[256]"></a>i2c_lld_master_receive_timeout</STRONG> (Thumb, 136 bytes, Stack size 16 bytes, i2c_lld.o(i.i2c_lld_master_receive_timeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = i2c_lld_master_receive_timeout &rArr; chThdSuspendTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSuspendTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[1be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cMasterReceiveTimeout
</UL>

<P><STRONG><a name="[257]"></a>i2c_lld_master_transmit_timeout</STRONG> (Thumb, 174 bytes, Stack size 24 bytes, i2c_lld.o(i.i2c_lld_master_transmit_timeout))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = i2c_lld_master_transmit_timeout &rArr; chThdSuspendTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSuspendTimeoutS
</UL>
<BR>[Called By]<UL><LI><a href="#[1bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cMasterTransmitTimeout
</UL>

<P><STRONG><a name="[259]"></a>i2c_lld_start</STRONG> (Thumb, 328 bytes, Stack size 24 bytes, i2c_lld.o(i.i2c_lld_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = i2c_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[220]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamAllocate
</UL>
<BR>[Called By]<UL><LI><a href="#[253]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cStart
</UL>

<P><STRONG><a name="[25a]"></a>i2c_lld_stop</STRONG> (Thumb, 142 bytes, Stack size 8 bytes, i2c_lld.o(i.i2c_lld_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = i2c_lld_stop &rArr; dmaStreamRelease
</UL>
<BR>[Calls]<UL><LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
<LI><a href="#[221]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamRelease
</UL>
<BR>[Called By]<UL><LI><a href="#[254]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cStop
</UL>

<P><STRONG><a name="[25c]"></a>icuEnableNotifications</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, icu.o(i.icuEnableNotifications))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = icuEnableNotifications
</UL>
<BR>[Calls]<UL><LI><a href="#[25d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_enable_notifications
</UL>
<BR>[Called By]<UL><LI><a href="#[2f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_init
</UL>

<P><STRONG><a name="[246]"></a>icuInit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, icu.o(i.icuInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = icuInit &rArr; icu_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[25e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_init
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[265]"></a>icuObjectInit</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, icu.o(i.icuObjectInit))
<BR><BR>[Called By]<UL><LI><a href="#[25e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_init
</UL>

<P><STRONG><a name="[25f]"></a>icuStart</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, icu.o(i.icuStart))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = icuStart &rArr; icu_lld_start
</UL>
<BR>[Calls]<UL><LI><a href="#[260]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_start
</UL>
<BR>[Called By]<UL><LI><a href="#[2f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_init
</UL>

<P><STRONG><a name="[261]"></a>icuStartCapture</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, icu.o(i.icuStartCapture))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = icuStartCapture
</UL>
<BR>[Calls]<UL><LI><a href="#[262]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_start_capture
</UL>
<BR>[Called By]<UL><LI><a href="#[2f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_init
</UL>

<P><STRONG><a name="[263]"></a>icuStop</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, icu.o(i.icuStop))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = icuStop &rArr; icu_lld_stop
</UL>
<BR>[Calls]<UL><LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[163]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_stop
</UL>

<P><STRONG><a name="[25d]"></a>icu_lld_enable_notifications</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, icu_lld.o(i.icu_lld_enable_notifications))
<BR><BR>[Called By]<UL><LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuEnableNotifications
</UL>

<P><STRONG><a name="[25e]"></a>icu_lld_init</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, icu_lld.o(i.icu_lld_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = icu_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[265]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[246]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuInit
</UL>

<P><STRONG><a name="[260]"></a>icu_lld_start</STRONG> (Thumb, 206 bytes, Stack size 16 bytes, icu_lld.o(i.icu_lld_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = icu_lld_start
</UL>
<BR>[Calls]<UL><LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
</UL>
<BR>[Called By]<UL><LI><a href="#[25f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuStart
</UL>

<P><STRONG><a name="[262]"></a>icu_lld_start_capture</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, icu_lld.o(i.icu_lld_start_capture))
<BR><BR>[Called By]<UL><LI><a href="#[261]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuStartCapture
</UL>

<P><STRONG><a name="[264]"></a>icu_lld_stop</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, icu_lld.o(i.icu_lld_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = icu_lld_stop
</UL>
<BR>[Calls]<UL><LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
</UL>
<BR>[Called By]<UL><LI><a href="#[263]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuStop
</UL>

<P><STRONG><a name="[2f4]"></a>led_external_set_reversed</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, led_external.o(i.led_external_set_reversed))
<BR><BR>[Called By]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[2f3]"></a>led_external_set_state</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, led_external.o(i.led_external_set_state))
<BR><BR>[Called By]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[269]"></a>ledpwm_init</STRONG> (Thumb, 84 bytes, Stack size 32 bytes, ledpwm.o(i.ledpwm_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = ledpwm_init &rArr; __hardfp_powf
</UL>
<BR>[Calls]<UL><LI><a href="#[122]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_roundf
<LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[26d]"></a>ledpwm_set_intensity</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, ledpwm.o(i.ledpwm_set_intensity))
<BR><BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[293]"></a>ledpwm_update_pwm</STRONG> (Thumb, 72 bytes, Stack size 4 bytes, ledpwm.o(i.ledpwm_update_pwm))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = ledpwm_update_pwm
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[76]"></a>main</STRONG> (Thumb, 304 bytes, Stack size 656 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 1008<LI>Call Chain = main &rArr; mc_interface_init &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[26c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_init
<LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[26b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_change_pins
<LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_stop
<LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_init
<LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ledpwm_set_intensity
<LI><a href="#[269]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ledpwm_init
<LI><a href="#[24e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_init_gpio
<LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_is_configured
<LI><a href="#[210]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_read_mc_configuration
<LI><a href="#[20f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_read_app_configuration
<LI><a href="#[20c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_init
<LI><a href="#[1c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_init
<LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_init
<LI><a href="#[1c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_init
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[1b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysInit
<LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
</UL>
<BR>[Address Reference Count : 1]<UL><LI> entry9a.o(.ARM.Collect$$$$0000000B)
</UL>
<P><STRONG><a name="[239]"></a>malloc</STRONG> (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = malloc
</UL>
<BR>[Called By]<UL><LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_create_fir_lowpass
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data_crc
</UL>

<P><STRONG><a name="[100]"></a>mc_interface_adc_inj_int_handler</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_adc_inj_int_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = mc_interface_adc_inj_int_handler &rArr; mcpwm_adc_inj_int_handler &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
</UL>
<BR>[Called By]<UL><LI><a href="#[28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector88
</UL>

<P><STRONG><a name="[26f]"></a>mc_interface_fault_stop</STRONG> (Thumb, 528 bytes, Stack size 96 bytes, mc_interface.o(i.mc_interface_fault_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 200<LI>Call Chain = mc_interface_fault_stop &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[27d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_add_fault_data
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_stop_pwm
<LI><a href="#[270]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_is_dccal_done
<LI><a href="#[275]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current_filtered
<LI><a href="#[273]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current
<LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tachometer_value
<LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_rpm
<LI><a href="#[277]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_duty_cycle_now
<LI><a href="#[27c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_comm_step
<LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_stop_pwm
<LI><a href="#[271]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_is_dccal_done
<LI><a href="#[274]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current_filtered
<LI><a href="#[272]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tachometer_value
<LI><a href="#[278]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_rpm
<LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_duty_cycle_now
<LI><a href="#[226]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_faults
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_logf
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
</UL>

<P><STRONG><a name="[333]"></a>mc_interface_fault_to_string</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_fault_to_string))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[1d7]"></a>mc_interface_get_amp_hours</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_amp_hours))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1d8]"></a>mc_interface_get_amp_hours_charged</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_amp_hours_charged))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[141]"></a>mc_interface_get_configuration</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_configuration))
<BR><BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[14c]"></a>mc_interface_get_duty_cycle_now</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, mc_interface.o(i.mc_interface_get_duty_cycle_now))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mc_interface_get_duty_cycle_now
</UL>
<BR>[Calls]<UL><LI><a href="#[277]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_duty_cycle_now
<LI><a href="#[276]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_duty_cycle_now
</UL>
<BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
</UL>

<P><STRONG><a name="[13b]"></a>mc_interface_get_fault</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_fault))
<BR><BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[280]"></a>mc_interface_get_last_inj_adc_isr_duration</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_last_inj_adc_isr_duration))
<BR><BR>[Calls]<UL><LI><a href="#[282]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_last_inj_adc_isr_duration
<LI><a href="#[281]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_last_inj_adc_isr_duration
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[330]"></a>mc_interface_get_last_sample_adc_isr_duration</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_last_sample_adc_isr_duration))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[19d]"></a>mc_interface_get_pid_pos_now</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_get_pid_pos_now))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = mc_interface_get_pid_pos_now &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_read_deg
<LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
<LI><a href="#[284]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_pid_pos_now
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[2f8]"></a>mc_interface_get_pid_pos_set</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_pid_pos_set))
<BR><BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[142]"></a>mc_interface_get_rpm</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, mc_interface.o(i.mc_interface_get_rpm))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mc_interface_get_rpm
</UL>
<BR>[Calls]<UL><LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_rpm
<LI><a href="#[278]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_rpm
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[286]"></a>mc_interface_get_state</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_state))
<BR><BR>[Calls]<UL><LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_state
<LI><a href="#[287]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_state
</UL>
<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[1dc]"></a>mc_interface_get_tachometer_abs_value</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_tachometer_abs_value))
<BR><BR>[Calls]<UL><LI><a href="#[28a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tachometer_abs_value
<LI><a href="#[289]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tachometer_abs_value
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1db]"></a>mc_interface_get_tachometer_value</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, mc_interface.o(i.mc_interface_get_tachometer_value))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mc_interface_get_tachometer_value
</UL>
<BR>[Calls]<UL><LI><a href="#[27a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tachometer_value
<LI><a href="#[27b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tachometer_value
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[19b]"></a>mc_interface_get_tot_current</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_tot_current))
<BR><BR>[Calls]<UL><LI><a href="#[273]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current
<LI><a href="#[272]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current
</UL>
<BR>[Called By]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_status_thread
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
</UL>

<P><STRONG><a name="[28b]"></a>mc_interface_get_tot_current_directional</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, mc_interface.o(i.mc_interface_get_tot_current_directional))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mc_interface_get_tot_current_directional
</UL>
<BR>[Calls]<UL><LI><a href="#[28d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current_directional
<LI><a href="#[28c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current_directional
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[14a]"></a>mc_interface_get_tot_current_directional_filtered</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, mc_interface.o(i.mc_interface_get_tot_current_directional_filtered))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mc_interface_get_tot_current_directional_filtered
</UL>
<BR>[Calls]<UL><LI><a href="#[28f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current_directional_filtered
<LI><a href="#[28e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current_directional_filtered
</UL>
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[1d9]"></a>mc_interface_get_watt_hours</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_watt_hours))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1da]"></a>mc_interface_get_watt_hours_charged</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_get_watt_hours_charged))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[26a]"></a>mc_interface_init</STRONG> (Thumb, 1142 bytes, Stack size 24 bytes, mc_interface.o(i.mc_interface_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 352<LI>Call Chain = mc_interface_init &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_mode
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_adj
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[204]"></a>mc_interface_lock</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_lock))
<BR><BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
</UL>

<P><STRONG><a name="[205]"></a>mc_interface_lock_override_once</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_lock_override_once))
<BR><BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
</UL>

<P><STRONG><a name="[292]"></a>mc_interface_mc_timer_isr</STRONG> (Thumb, 1428 bytes, Stack size 64 bytes, mc_interface.o(i.mc_interface_mc_timer_isr))
<BR><BR>[Stack]<UL><LI>Max Depth = 264<LI>Call Chain = mc_interface_mc_timer_isr &rArr; mc_interface_fault_stop &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[29d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_read_hall_phase
<LI><a href="#[295]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current_in_filtered
<LI><a href="#[275]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current_filtered
<LI><a href="#[273]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_tot_current
<LI><a href="#[29b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_switching_frequency_now
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_state
<LI><a href="#[27c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_comm_step
<LI><a href="#[294]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current_in_filtered
<LI><a href="#[274]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current_filtered
<LI><a href="#[272]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_tot_current
<LI><a href="#[287]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_state
<LI><a href="#[29a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_sampling_frequency_now
<LI><a href="#[29c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_phase
<LI><a href="#[297]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_iq
<LI><a href="#[296]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_id
<LI><a href="#[299]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_abs_motor_current_filtered
<LI><a href="#[298]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_abs_motor_current
<LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignalI
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
<LI><a href="#[293]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ledpwm_update_pwm
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
</UL>

<P><STRONG><a name="[1d5]"></a>mc_interface_read_reset_avg_id</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_read_reset_avg_id))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1d4]"></a>mc_interface_read_reset_avg_input_current</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_read_reset_avg_input_current))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1d6]"></a>mc_interface_read_reset_avg_iq</STRONG> (Thumb, 50 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_read_reset_avg_iq))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1d3]"></a>mc_interface_read_reset_avg_motor_current</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_read_reset_avg_motor_current))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1de]"></a>mc_interface_release_motor</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_release_motor))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = mc_interface_release_motor &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_jump_to_bootloader
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1e8]"></a>mc_interface_sample_print_data</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_sample_print_data))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mc_interface_sample_print_data &rArr; chEvtSignal
</UL>
<BR>[Calls]<UL><LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignal
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[146]"></a>mc_interface_set_brake_current</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_brake_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = mc_interface_set_brake_current &rArr; mcpwm_set_brake_current &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_brake_current
<LI><a href="#[29f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_brake_current
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[14e]"></a>mc_interface_set_brake_current_rel</STRONG> (Thumb, 114 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_brake_current_rel))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = mc_interface_set_brake_current_rel &rArr; mcpwm_set_brake_current &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_brake_current
<LI><a href="#[29f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_brake_current
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
</UL>

<P><STRONG><a name="[1e0]"></a>mc_interface_set_configuration</STRONG> (Thumb, 2898 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 344<LI>Call Chain = mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_configuration
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[2a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_configuration
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
<LI><a href="#[22a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_mode
<LI><a href="#[229]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_set_oc_adj
<LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
<LI><a href="#[236]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_set_counts
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_deinit
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[18b]"></a>mc_interface_set_current</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_current
<LI><a href="#[2a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_current
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[151]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current_rel
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[151]"></a>mc_interface_set_current_rel</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_set_current_rel))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = mc_interface_set_current_rel &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
</UL>

<P><STRONG><a name="[143]"></a>mc_interface_set_duty</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_duty))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = mc_interface_set_duty &rArr; mcpwm_set_duty &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_duty
<LI><a href="#[2a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_duty
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[192]"></a>mc_interface_set_handbrake</STRONG> (Thumb, 78 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_handbrake))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = mc_interface_set_handbrake &rArr; mcpwm_set_brake_current &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_brake_current
<LI><a href="#[2aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_handbrake
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[193]"></a>mc_interface_set_handbrake_rel</STRONG> (Thumb, 86 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_handbrake_rel))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = mc_interface_set_handbrake_rel &rArr; mcpwm_set_brake_current &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_brake_current
<LI><a href="#[2aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_handbrake
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
</UL>

<P><STRONG><a name="[18c]"></a>mc_interface_set_pid_pos</STRONG> (Thumb, 98 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_pid_pos))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = mc_interface_set_pid_pos &rArr; mcpwm_set_pid_pos &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
<LI><a href="#[2ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_pid_pos
<LI><a href="#[2ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_pid_pos
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[144]"></a>mc_interface_set_pid_speed</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_set_pid_speed))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = mc_interface_set_pid_speed &rArr; mc_interface_try_input &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_pid_speed
<LI><a href="#[2ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_pid_speed
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[1d0]"></a>mc_interface_temp_fet_filtered</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_temp_fet_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[1d2]"></a>mc_interface_temp_motor_filtered</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_temp_motor_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;observer_update
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;control_current
</UL>

<P><STRONG><a name="[29e]"></a>mc_interface_try_input</STRONG> (Thumb, 102 bytes, Stack size 16 bytes, mc_interface.o(i.mc_interface_try_input))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = mc_interface_try_input &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_stop_pwm
<LI><a href="#[2af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init_done
<LI><a href="#[288]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_state
<LI><a href="#[2b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init_done
<LI><a href="#[287]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_state
</UL>
<BR>[Called By]<UL><LI><a href="#[1dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_detect
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
<LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_pos
<LI><a href="#[193]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake_rel
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current_rel
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
</UL>

<P><STRONG><a name="[208]"></a>mc_interface_unlock</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mc_interface.o(i.mc_interface_unlock))
<BR><BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
<LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_jump_to_bootloader
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_thread
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
</UL>

<P><STRONG><a name="[26e]"></a>mcpwm_adc_inj_int_handler</STRONG> (Thumb, 1108 bytes, Stack size 40 bytes, mcpwm.o(i.mcpwm_adc_inj_int_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = mcpwm_adc_inj_int_handler &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_run_fir_iteration
<LI><a href="#[2b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_add_sample
<LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GenerateEvent
<LI><a href="#[2b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_GetInjectedConversionValue
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_comm_step
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[100]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_adc_inj_int_handler
</UL>

<P><STRONG><a name="[a2]"></a>mcpwm_adc_int_handler</STRONG> (Thumb, 2666 bytes, Stack size 88 bytes, mcpwm.o(i.mcpwm_adc_int_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 352<LI>Call Chain = mcpwm_adc_int_handler &rArr; mc_interface_mc_timer_isr &rArr; mc_interface_fault_stop &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_angle_difference
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_read_deg
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_is_configured
<LI><a href="#[2b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_add_sample
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[140]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_step_towards
<LI><a href="#[2b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_SetCounter
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_timer_attempt
<LI><a href="#[1fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_rpm_tacho
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_comm_step
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_ll
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mcpwm.o(i.mcpwm_init)
</UL>
<P><STRONG><a name="[2a4]"></a>mcpwm_deinit</STRONG> (Thumb, 90 bytes, Stack size 8 bytes, mcpwm.o(i.mcpwm_deinit))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = mcpwm_deinit &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_DeInit
<LI><a href="#[221]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamRelease
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_DeInit
<LI><a href="#[2ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_DeInit
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_DeInit
</UL>
<BR>[Called By]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[a0]"></a>mcpwm_foc_adc_int_handler</STRONG> (Thumb, 3452 bytes, Stack size 104 bytes, mcpwm_foc.o(i.mcpwm_foc_adc_int_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 368<LI>Call Chain = mcpwm_foc_adc_int_handler &rArr; mc_interface_mc_timer_isr &rArr; mc_interface_fault_stop &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_angle_difference
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_read_deg
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_is_configured
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_index_found
<LI><a href="#[2c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number_int
<LI><a href="#[215]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number_abs
<LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_saturate_vector_2d
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle_rad
<LI><a href="#[2bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_max_abs
<LI><a href="#[213]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_fast_sincos_better
<LI><a href="#[219]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_angle_difference_rad
<LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;observer_update
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[216]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_pwm_hw
<LI><a href="#[217]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;correct_hall
<LI><a href="#[2be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;correct_encoder
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;control_current
<LI><a href="#[2b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_SetCounter
<LI><a href="#[2c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_floorf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mcpwm_foc.o(i.mcpwm_foc_init)
</UL>
<P><STRONG><a name="[2a1]"></a>mcpwm_foc_deinit</STRONG> (Thumb, 76 bytes, Stack size 8 bytes, mcpwm_foc.o(i.mcpwm_foc_deinit))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = mcpwm_foc_deinit &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_DeInit
<LI><a href="#[221]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamRelease
<LI><a href="#[10a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_DeInit
<LI><a href="#[2ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_DeInit
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_DeInit
</UL>
<BR>[Called By]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[1ed]"></a>mcpwm_foc_encoder_detect</STRONG> (Thumb, 1344 bytes, Stack size 104 bytes, mcpwm_foc.o(i.mcpwm_foc_encoder_detect))
<BR><BR>[Stack]<UL><LI>Max Depth = 156<LI>Call Chain = mcpwm_foc_encoder_detect &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_read_deg
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
<LI><a href="#[2bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_index_found
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle_rad
<LI><a href="#[219]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_angle_difference_rad
<LI><a href="#[2c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;arm_sin_f32
<LI><a href="#[2c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;arm_cos_f32
<LI><a href="#[2c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[122]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_roundf
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_atan2f
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[298]"></a>mcpwm_foc_get_abs_motor_current</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_abs_motor_current))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[299]"></a>mcpwm_foc_get_abs_motor_current_filtered</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_abs_motor_current_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[276]"></a>mcpwm_foc_get_duty_cycle_now</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_duty_cycle_now))
<BR><BR>[Called By]<UL><LI><a href="#[14c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_duty_cycle_now
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[296]"></a>mcpwm_foc_get_id</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_id))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[297]"></a>mcpwm_foc_get_iq</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_iq))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[281]"></a>mcpwm_foc_get_last_inj_adc_isr_duration</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_last_inj_adc_isr_duration))
<BR><BR>[Called By]<UL><LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_last_inj_adc_isr_duration
</UL>

<P><STRONG><a name="[29c]"></a>mcpwm_foc_get_phase</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, mcpwm_foc.o(i.mcpwm_foc_get_phase))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = mcpwm_foc_get_phase &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
</UL>
<BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[2c5]"></a>mcpwm_foc_get_phase_encoder</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, mcpwm_foc.o(i.mcpwm_foc_get_phase_encoder))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = mcpwm_foc_get_phase_encoder &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
</UL>
<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[2c6]"></a>mcpwm_foc_get_phase_observer</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, mcpwm_foc.o(i.mcpwm_foc_get_phase_observer))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = mcpwm_foc_get_phase_observer &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
</UL>
<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[284]"></a>mcpwm_foc_get_pid_pos_now</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_pid_pos_now))
<BR><BR>[Called By]<UL><LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_pid_pos_now
</UL>

<P><STRONG><a name="[278]"></a>mcpwm_foc_get_rpm</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_rpm))
<BR><BR>[Called By]<UL><LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
<LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
</UL>

<P><STRONG><a name="[29a]"></a>mcpwm_foc_get_sampling_frequency_now</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_sampling_frequency_now))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[287]"></a>mcpwm_foc_get_state</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_state))
<BR><BR>[Called By]<UL><LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_state
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[289]"></a>mcpwm_foc_get_tachometer_abs_value</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_tachometer_abs_value))
<BR><BR>[Called By]<UL><LI><a href="#[1dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_abs_value
</UL>

<P><STRONG><a name="[27b]"></a>mcpwm_foc_get_tachometer_value</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_tachometer_value))
<BR><BR>[Called By]<UL><LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_value
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[272]"></a>mcpwm_foc_get_tot_current</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_tot_current))
<BR><BR>[Called By]<UL><LI><a href="#[19b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[28c]"></a>mcpwm_foc_get_tot_current_directional</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_tot_current_directional))
<BR><BR>[Called By]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional
</UL>

<P><STRONG><a name="[28e]"></a>mcpwm_foc_get_tot_current_directional_filtered</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_tot_current_directional_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional_filtered
</UL>

<P><STRONG><a name="[274]"></a>mcpwm_foc_get_tot_current_filtered</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_tot_current_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[294]"></a>mcpwm_foc_get_tot_current_in_filtered</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_tot_current_in_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[335]"></a>mcpwm_foc_get_vq</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_get_vq))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[1ee]"></a>mcpwm_foc_hall_detect</STRONG> (Thumb, 762 bytes, Stack size 176 bytes, mcpwm_foc.o(i.mcpwm_foc_hall_detect))
<BR><BR>[Stack]<UL><LI>Max Depth = 228<LI>Call Chain = mcpwm_foc_hall_detect &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
<LI><a href="#[237]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_middle_of_3_int
<LI><a href="#[2c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;arm_sin_f32
<LI><a href="#[2c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;arm_cos_f32
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[115]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_atan2f
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[290]"></a>mcpwm_foc_init</STRONG> (Thumb, 1144 bytes, Stack size 200 bytes, mcpwm_foc.o(i.mcpwm_foc_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 248<LI>Call Chain = mcpwm_foc_init &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[234]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimeBaseInit
<LI><a href="#[235]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ITConfig
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_DeInit
<LI><a href="#[230]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Cmd
<LI><a href="#[22d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[250]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_setup_adc_channels
<LI><a href="#[220]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamAllocate
<LI><a href="#[2e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_SetWindowValue
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_SetPrescaler
<LI><a href="#[2e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_Enable
<LI><a href="#[2de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectSlaveMode
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectOutputTrigger
<LI><a href="#[2dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectMasterSlaveMode
<LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectInputTrigger
<LI><a href="#[2ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC4PreloadConfig
<LI><a href="#[2ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC4Init
<LI><a href="#[2cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC3PreloadConfig
<LI><a href="#[2c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC3Init
<LI><a href="#[2cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC2PreloadConfig
<LI><a href="#[2c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC2Init
<LI><a href="#[2cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC1PreloadConfig
<LI><a href="#[2c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC1Init
<LI><a href="#[2da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CtrlPWMOutputs
<LI><a href="#[2d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCPreloadControl
<LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_BDTRConfig
<LI><a href="#[2d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ARRPreloadConfig
<LI><a href="#[24f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_AHB1PeriphClockCmd
<LI><a href="#[2d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_Init
<LI><a href="#[2d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_ITConfig
<LI><a href="#[2d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_Cmd
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_TempSensorVrefintCmd
<LI><a href="#[2d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_MultiModeDMARequestAfterLastTransferCmd
<LI><a href="#[2d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Init
<LI><a href="#[2d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_CommonInit
<LI><a href="#[2d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Cmd
<LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[2b0]"></a>mcpwm_foc_init_done</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_init_done))
<BR><BR>[Called By]<UL><LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>

<P><STRONG><a name="[271]"></a>mcpwm_foc_is_dccal_done</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_is_dccal_done))
<BR><BR>[Called By]<UL><LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[2e2]"></a>mcpwm_foc_measure_inductance</STRONG> (Thumb, 252 bytes, Stack size 48 bytes, mcpwm_foc.o(i.mcpwm_foc_measure_inductance))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = mcpwm_foc_measure_inductance &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_res_ind
</UL>

<P><STRONG><a name="[1ea]"></a>mcpwm_foc_measure_res_ind</STRONG> (Thumb, 458 bytes, Stack size 72 bytes, mcpwm_foc.o(i.mcpwm_foc_measure_res_ind))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = mcpwm_foc_measure_res_ind &rArr; mcpwm_foc_measure_resistance &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[2e3]"></a>mcpwm_foc_measure_resistance</STRONG> (Thumb, 232 bytes, Stack size 48 bytes, mcpwm_foc.o(i.mcpwm_foc_measure_resistance))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = mcpwm_foc_measure_resistance &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[204]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_lock
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_res_ind
</UL>

<P><STRONG><a name="[2e4]"></a>mcpwm_foc_print_state</STRONG> (Thumb, 478 bytes, Stack size 8 bytes, mcpwm_foc.o(i.mcpwm_foc_print_state))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = mcpwm_foc_print_state &rArr; commands_printf &rArr; vsnprintf
</UL>
<BR>[Calls]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[2c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[29f]"></a>mcpwm_foc_set_brake_current</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_set_brake_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = mcpwm_foc_set_brake_current &rArr; stop_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current_rel
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
</UL>

<P><STRONG><a name="[2a3]"></a>mcpwm_foc_set_configuration</STRONG> (Thumb, 84 bytes, Stack size 8 bytes, mcpwm_foc.o(i.mcpwm_foc_set_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = mcpwm_foc_set_configuration &rArr; stop_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[2a6]"></a>mcpwm_foc_set_current</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_set_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = mcpwm_foc_set_current &rArr; stop_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
</UL>

<P><STRONG><a name="[2a8]"></a>mcpwm_foc_set_duty</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_set_duty))
<BR><BR>[Called By]<UL><LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
</UL>

<P><STRONG><a name="[2aa]"></a>mcpwm_foc_set_handbrake</STRONG> (Thumb, 54 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_set_handbrake))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = mcpwm_foc_set_handbrake &rArr; stop_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[193]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake_rel
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake
</UL>

<P><STRONG><a name="[2e5]"></a>mcpwm_foc_set_openloop</STRONG> (Thumb, 120 bytes, Stack size 24 bytes, mcpwm_foc.o(i.mcpwm_foc_set_openloop))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = mcpwm_foc_set_openloop &rArr; stop_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[2ab]"></a>mcpwm_foc_set_pid_pos</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_set_pid_pos))
<BR><BR>[Called By]<UL><LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_pos
</UL>

<P><STRONG><a name="[2ad]"></a>mcpwm_foc_set_pid_speed</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_set_pid_speed))
<BR><BR>[Called By]<UL><LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
</UL>

<P><STRONG><a name="[27e]"></a>mcpwm_foc_stop_pwm</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_stop_pwm))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = mcpwm_foc_stop_pwm &rArr; stop_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[2bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[109]"></a>mcpwm_foc_tim_sample_int_handler</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, mcpwm_foc.o(i.mcpwm_foc_tim_sample_int_handler))
<BR><BR>[Calls]<UL><LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GenerateEvent
</UL>
<BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorF8
</UL>

<P><STRONG><a name="[27c]"></a>mcpwm_get_comm_step</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_comm_step))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[2e6]"></a>mcpwm_get_detect_pos</STRONG> (Thumb, 250 bytes, Stack size 16 bytes, mcpwm.o(i.mcpwm_get_detect_pos))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = mcpwm_get_detect_pos &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[285]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle
<LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_asinf
</UL>
<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
</UL>

<P><STRONG><a name="[277]"></a>mcpwm_get_duty_cycle_now</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_duty_cycle_now))
<BR><BR>[Called By]<UL><LI><a href="#[14c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_duty_cycle_now
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[20a]"></a>mcpwm_get_hall_detect_result</STRONG> (Thumb, 152 bytes, Stack size 40 bytes, mcpwm.o(i.mcpwm_get_hall_detect_result))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = mcpwm_get_hall_detect_result
</UL>
<BR>[Called By]<UL><LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
</UL>

<P><STRONG><a name="[2e7]"></a>mcpwm_get_kv_filtered</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_kv_filtered))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = mcpwm_get_kv_filtered &rArr; filter_run_fir_iteration
</UL>
<BR>[Calls]<UL><LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_run_fir_iteration
</UL>
<BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[32f]"></a>mcpwm_get_last_adc_isr_duration</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_last_adc_isr_duration))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[282]"></a>mcpwm_get_last_inj_adc_isr_duration</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_last_inj_adc_isr_duration))
<BR><BR>[Called By]<UL><LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_last_inj_adc_isr_duration
</UL>

<P><STRONG><a name="[279]"></a>mcpwm_get_rpm</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_rpm))
<BR><BR>[Called By]<UL><LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
<LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
</UL>

<P><STRONG><a name="[334]"></a>mcpwm_get_rpm_dep</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_rpm_dep))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
</UL>

<P><STRONG><a name="[288]"></a>mcpwm_get_state</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_state))
<BR><BR>[Called By]<UL><LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_state
<LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[29b]"></a>mcpwm_get_switching_frequency_now</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_switching_frequency_now))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[28a]"></a>mcpwm_get_tachometer_abs_value</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_tachometer_abs_value))
<BR><BR>[Called By]<UL><LI><a href="#[1dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_abs_value
</UL>

<P><STRONG><a name="[27a]"></a>mcpwm_get_tachometer_value</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_tachometer_value))
<BR><BR>[Called By]<UL><LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_value
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[273]"></a>mcpwm_get_tot_current</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_tot_current))
<BR><BR>[Called By]<UL><LI><a href="#[19b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current
<LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[28d]"></a>mcpwm_get_tot_current_directional</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_tot_current_directional))
<BR><BR>[Called By]<UL><LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional
</UL>

<P><STRONG><a name="[28f]"></a>mcpwm_get_tot_current_directional_filtered</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_tot_current_directional_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional_filtered
</UL>

<P><STRONG><a name="[275]"></a>mcpwm_get_tot_current_filtered</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_tot_current_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[295]"></a>mcpwm_get_tot_current_in_filtered</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_get_tot_current_in_filtered))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[291]"></a>mcpwm_init</STRONG> (Thumb, 1430 bytes, Stack size 224 bytes, mcpwm.o(i.mcpwm_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 328<LI>Call Chain = mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[238]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_create_fir_lowpass
<LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[211]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB1PeriphClockCmd
<LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[234]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TimeBaseInit
<LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_DeInit
<LI><a href="#[230]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Cmd
<LI><a href="#[22d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_APB2PeriphClockCmd
<LI><a href="#[250]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_setup_adc_channels
<LI><a href="#[220]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamAllocate
<LI><a href="#[2e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_SetWindowValue
<LI><a href="#[2df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_SetPrescaler
<LI><a href="#[2e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WWDG_Enable
<LI><a href="#[2de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectSlaveMode
<LI><a href="#[2db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectOutputTrigger
<LI><a href="#[2dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectMasterSlaveMode
<LI><a href="#[2dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectInputTrigger
<LI><a href="#[2ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC4PreloadConfig
<LI><a href="#[2ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC4Init
<LI><a href="#[2cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC3PreloadConfig
<LI><a href="#[2c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC3Init
<LI><a href="#[2cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC2PreloadConfig
<LI><a href="#[2c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC2Init
<LI><a href="#[2cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC1PreloadConfig
<LI><a href="#[2c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_OC1Init
<LI><a href="#[2da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CtrlPWMOutputs
<LI><a href="#[2d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCPreloadControl
<LI><a href="#[2cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_BDTRConfig
<LI><a href="#[2d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ARRPreloadConfig
<LI><a href="#[24f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_AHB1PeriphClockCmd
<LI><a href="#[2d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_Init
<LI><a href="#[2d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_ITConfig
<LI><a href="#[2d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;DMA_Cmd
<LI><a href="#[2d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_TempSensorVrefintCmd
<LI><a href="#[2d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_MultiModeDMARequestAfterLastTransferCmd
<LI><a href="#[2eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_InjectedSequencerLengthConfig
<LI><a href="#[2d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Init
<LI><a href="#[2ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_ITConfig
<LI><a href="#[2ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_ExternalTrigInjectedConvEdgeConfig
<LI><a href="#[2e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_ExternalTrigInjectedConvConfig
<LI><a href="#[2d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_CommonInit
<LI><a href="#[2d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ADC_Cmd
<LI><a href="#[2e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init_hall_table
<LI><a href="#[1fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_sensor_mode
<LI><a href="#[200]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_adc_sample_pos
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_timer_settings
<LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[26a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_init
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[2af]"></a>mcpwm_init_done</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_init_done))
<BR><BR>[Called By]<UL><LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
</UL>

<P><STRONG><a name="[2e8]"></a>mcpwm_init_hall_table</STRONG> (Thumb, 52 bytes, Stack size 40 bytes, mcpwm.o(i.mcpwm_init_hall_table))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = mcpwm_init_hall_table
</UL>
<BR>[Called By]<UL><LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_configuration
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
</UL>

<P><STRONG><a name="[270]"></a>mcpwm_is_dccal_done</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_is_dccal_done))
<BR><BR>[Called By]<UL><LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[29d]"></a>mcpwm_read_hall_phase</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_read_hall_phase))
<BR><BR>[Called By]<UL><LI><a href="#[292]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_mc_timer_isr
</UL>

<P><STRONG><a name="[209]"></a>mcpwm_read_reset_avg_cycle_integrator</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_read_reset_avg_cycle_integrator))
<BR><BR>[Called By]<UL><LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
</UL>

<P><STRONG><a name="[207]"></a>mcpwm_reset_hall_detect_table</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_reset_hall_detect_table))
<BR><BR>[Calls]<UL><LI><a href="#[20b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
</UL>

<P><STRONG><a name="[2a0]"></a>mcpwm_set_brake_current</STRONG> (Thumb, 188 bytes, Stack size 16 bytes, mcpwm.o(i.mcpwm_set_brake_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = mcpwm_set_brake_current &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
</UL>
<BR>[Called By]<UL><LI><a href="#[193]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake_rel
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current_rel
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
</UL>

<P><STRONG><a name="[2a5]"></a>mcpwm_set_configuration</STRONG> (Thumb, 60 bytes, Stack size 16 bytes, mcpwm.o(i.mcpwm_set_configuration))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = mcpwm_set_configuration &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[2e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init_hall_table
<LI><a href="#[1fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_sensor_mode
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
</UL>

<P><STRONG><a name="[2a7]"></a>mcpwm_set_current</STRONG> (Thumb, 146 bytes, Stack size 16 bytes, mcpwm.o(i.mcpwm_set_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
</UL>
<BR>[Called By]<UL><LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
</UL>

<P><STRONG><a name="[1dd]"></a>mcpwm_set_detect</STRONG> (Thumb, 90 bytes, Stack size 8 bytes, mcpwm.o(i.mcpwm_set_detect))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = mcpwm_set_detect &rArr; mc_interface_try_input &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_switching_frequency
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[2a9]"></a>mcpwm_set_duty</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_set_duty))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = mcpwm_set_duty &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
</UL>
<BR>[Called By]<UL><LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
</UL>

<P><STRONG><a name="[2ac]"></a>mcpwm_set_pid_pos</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_set_pid_pos))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = mcpwm_set_pid_pos &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
</UL>
<BR>[Called By]<UL><LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_pos
</UL>

<P><STRONG><a name="[2ae]"></a>mcpwm_set_pid_speed</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_set_pid_speed))
<BR><BR>[Called By]<UL><LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
</UL>

<P><STRONG><a name="[27f]"></a>mcpwm_stop_pwm</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_stop_pwm))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[29e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_try_input
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[206]"></a>mcpwm_switch_comm_mode</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, mcpwm.o(i.mcpwm_switch_comm_mode))
<BR><BR>[Called By]<UL><LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
</UL>

<P><STRONG><a name="[16a]"></a>nrf_driver_init</STRONG> (Thumb, 126 bytes, Stack size 24 bytes, nrf_driver.o(i.nrf_driver_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = nrf_driver_init &rArr; rfhelp_init &rArr; rf_write_reg &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[2ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_stop
<LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_init
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[aa]"></a>nrf_driver_send_buffer</STRONG> (Thumb, 310 bytes, Stack size 64 bytes, nrf_driver.o(i.nrf_driver_send_buffer))
<BR><BR>[Stack]<UL><LI>Max Depth = 200<LI>Call Chain = nrf_driver_send_buffer &rArr; rfhelp_send_data_crc &rArr; rfhelp_send_data &rArr; rf_mode_tx &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data_crc
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Address Reference Count : 1]<UL><LI> nrf_driver.o(i.rx_thread)
</UL>
<P><STRONG><a name="[1f6]"></a>nrf_driver_start_pairing</STRONG> (Thumb, 124 bytes, Stack size 32 bytes, nrf_driver.o(i.nrf_driver_start_pairing))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = nrf_driver_start_pairing &rArr; rfhelp_update_conf &rArr; rfhelp_restart &rArr; rf_set_speed &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_get_configuration
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_update_conf
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[167]"></a>nrf_driver_stop</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, nrf_driver.o(i.nrf_driver_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = nrf_driver_stop &rArr; rfhelp_stop &rArr; rf_stop &rArr; spi_sw_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[2ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[187]"></a>nvicDisableVector</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, nvic.o(i.nvicDisableVector))
<BR><BR>[Called By]<UL><LI><a href="#[2a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_deinit
<LI><a href="#[2a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_deinit
<LI><a href="#[22b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_deinit
<LI><a href="#[221]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamRelease
<LI><a href="#[17e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_stop
<LI><a href="#[264]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_stop
<LI><a href="#[25a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_stop
<LI><a href="#[345]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stop
<LI><a href="#[33b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_stop
</UL>

<P><STRONG><a name="[185]"></a>nvicEnableVector</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, nvic.o(i.nvicEnableVector))
<BR><BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[233]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_as5047p_spi
<LI><a href="#[22c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init_abi
<LI><a href="#[220]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamAllocate
<LI><a href="#[17c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_start
<LI><a href="#[260]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icu_lld_start
<LI><a href="#[259]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2c_lld_start
<LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start
<LI><a href="#[339]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_start
</UL>

<P><STRONG><a name="[32c]"></a>nvicSetSystemHandlerPriority</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, nvic.o(i.nvicSetSystemHandlerPriority), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[32b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;st_lld_init
</UL>

<P><STRONG><a name="[2bc]"></a>observer_update</STRONG> (Thumb, 466 bytes, Stack size 64 bytes, mcpwm_foc.o(i.observer_update))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = observer_update
</UL>
<BR>[Calls]<UL><LI><a href="#[1d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_temp_motor_filtered
<LI><a href="#[215]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number_abs
<LI><a href="#[2f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_fast_atan2
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[170]"></a>packet_init</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, packet.o(i.packet_init))
<BR><BR>[Called By]<UL><LI><a href="#[1c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_init
<LI><a href="#[169]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_start
</UL>

<P><STRONG><a name="[2f5]"></a>packet_process_byte</STRONG> (Thumb, 202 bytes, Stack size 16 bytes, packet.o(i.packet_process_byte))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = packet_process_byte &rArr; crc16
</UL>
<BR>[Calls]<UL><LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
</UL>
<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;serial_process_thread
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_process_thread
</UL>

<P><STRONG><a name="[2f6]"></a>packet_send_packet</STRONG> (Thumb, 136 bytes, Stack size 24 bytes, packet.o(i.packet_send_packet))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = packet_send_packet &rArr; crc16
</UL>
<BR>[Calls]<UL><LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet_wrapper
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet_wrapper
</UL>

<P><STRONG><a name="[337]"></a>packet_timerfunc</STRONG> (Thumb, 48 bytes, Stack size 0 bytes, packet.o(i.packet_timerfunc))
<BR><BR>[Called By]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
</UL>

<P><STRONG><a name="[2fc]"></a>rf_clear_irq</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, rf.o(i.rf_clear_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = rf_clear_irq &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[2fe]"></a>rf_clear_maxrt_irq</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, rf.o(i.rf_clear_maxrt_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = rf_clear_maxrt_irq &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[2ff]"></a>rf_clear_rx_irq</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, rf.o(i.rf_clear_rx_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = rf_clear_rx_irq &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
</UL>

<P><STRONG><a name="[300]"></a>rf_enable_features</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, rf.o(i.rf_enable_features))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_enable_features &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[302]"></a>rf_enable_pipe_address</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, rf.o(i.rf_enable_pipe_address))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_enable_pipe_address &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[303]"></a>rf_enable_pipe_autoack</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, rf.o(i.rf_enable_pipe_autoack))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_enable_pipe_autoack &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[304]"></a>rf_enable_pipe_dlp</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, rf.o(i.rf_enable_pipe_dlp))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_enable_pipe_dlp &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[305]"></a>rf_flush_all</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, rf.o(i.rf_flush_all))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = rf_flush_all &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[309]"></a>rf_get_payload_width</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, rf.o(i.rf_get_payload_width))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_get_payload_width &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
</UL>

<P><STRONG><a name="[30a]"></a>rf_init</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, rf.o(i.rf_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = rf_init &rArr; spi_sw_init &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[30b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_init
</UL>
<BR>[Called By]<UL><LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_init
</UL>

<P><STRONG><a name="[30c]"></a>rf_mode_rx</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, rf.o(i.rf_mode_rx))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_mode_rx &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[30d]"></a>rf_mode_tx</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, rf.o(i.rf_mode_tx))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_mode_tx &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[30e]"></a>rf_power_down</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, rf.o(i.rf_power_down))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_power_down &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[30f]"></a>rf_power_up</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, rf.o(i.rf_power_up))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_power_up &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[322]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_power_up
</UL>

<P><STRONG><a name="[310]"></a>rf_read_reg</STRONG> (Thumb, 40 bytes, Stack size 16 bytes, rf.o(i.rf_read_reg))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_read_reg &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_init
</UL>

<P><STRONG><a name="[301]"></a>rf_read_reg_byte</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, rf.o(i.rf_read_reg_byte))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = rf_read_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[319]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_speed
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_retr_retries
<LI><a href="#[316]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_retr_delay
<LI><a href="#[315]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_power
<LI><a href="#[313]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_crc_type
<LI><a href="#[30f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_power_up
<LI><a href="#[30e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_power_down
<LI><a href="#[30d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_mode_tx
<LI><a href="#[30c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_mode_rx
<LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_dlp
<LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_autoack
<LI><a href="#[302]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_address
<LI><a href="#[300]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_features
</UL>

<P><STRONG><a name="[311]"></a>rf_read_rx_payload</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, rf.o(i.rf_read_rx_payload))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_read_rx_payload &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
</UL>

<P><STRONG><a name="[312]"></a>rf_set_address_width</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, rf.o(i.rf_set_address_width))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = rf_set_address_width &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[313]"></a>rf_set_crc_type</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, rf.o(i.rf_set_crc_type))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_set_crc_type &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[314]"></a>rf_set_frequency</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, rf.o(i.rf_set_frequency))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = rf_set_frequency &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[315]"></a>rf_set_power</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, rf.o(i.rf_set_power))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_set_power &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[316]"></a>rf_set_retr_delay</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, rf.o(i.rf_set_retr_delay))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_set_retr_delay &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[317]"></a>rf_set_retr_retries</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, rf.o(i.rf_set_retr_retries))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_set_retr_retries &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[318]"></a>rf_set_rx_addr</STRONG> (Thumb, 46 bytes, Stack size 16 bytes, rf.o(i.rf_set_rx_addr))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_set_rx_addr &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[319]"></a>rf_set_speed</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, rf.o(i.rf_set_speed))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = rf_set_speed &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[31a]"></a>rf_set_tx_addr</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, rf.o(i.rf_set_tx_addr))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_set_tx_addr &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>

<P><STRONG><a name="[31b]"></a>rf_status</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, rf.o(i.rf_status))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = rf_status &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
<LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
</UL>

<P><STRONG><a name="[31c]"></a>rf_stop</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, rf.o(i.rf_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = rf_stop &rArr; spi_sw_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[31d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[2ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_stop
<LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_init
</UL>

<P><STRONG><a name="[31e]"></a>rf_write_reg</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, rf.o(i.rf_write_reg))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_write_reg &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[2ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_init
</UL>

<P><STRONG><a name="[2fd]"></a>rf_write_reg_byte</STRONG> (Thumb, 48 bytes, Stack size 24 bytes, rf.o(i.rf_write_reg_byte))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[319]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_speed
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_retr_retries
<LI><a href="#[316]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_retr_delay
<LI><a href="#[315]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_power
<LI><a href="#[314]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_frequency
<LI><a href="#[313]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_crc_type
<LI><a href="#[312]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_address_width
<LI><a href="#[30f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_power_up
<LI><a href="#[30e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_power_down
<LI><a href="#[30d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_mode_tx
<LI><a href="#[30c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_mode_rx
<LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_dlp
<LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_autoack
<LI><a href="#[302]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_address
<LI><a href="#[300]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_features
<LI><a href="#[2ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_clear_rx_irq
<LI><a href="#[2fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_clear_maxrt_irq
<LI><a href="#[2fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_clear_irq
</UL>

<P><STRONG><a name="[31f]"></a>rf_write_tx_payload</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, rf.o(i.rf_write_tx_payload))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_write_tx_payload &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[320]"></a>rf_write_tx_payload_no_ack</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, rf.o(i.rf_write_tx_payload_no_ack))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = rf_write_tx_payload_no_ack &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
<LI><a href="#[308]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_end
<LI><a href="#[306]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
</UL>

<P><STRONG><a name="[2ee]"></a>rfhelp_init</STRONG> (Thumb, 168 bytes, Stack size 40 bytes, rfhelp.o(i.rfhelp_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = rfhelp_init &rArr; rf_write_reg &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxObjectInit
<LI><a href="#[31e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg
<LI><a href="#[31c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_stop
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg
<LI><a href="#[30a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_init
<LI><a href="#[321]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;memcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_init
</UL>

<P><STRONG><a name="[322]"></a>rfhelp_power_up</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, rfhelp.o(i.rfhelp_power_up))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = rfhelp_power_up &rArr; rf_power_up &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
<LI><a href="#[30f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_power_up
</UL>
<BR>[Called By]<UL><LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[323]"></a>rfhelp_read_rx_data_crc</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, rfhelp.o(i.rfhelp_read_rx_data_crc))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = rfhelp_read_rx_data_crc &rArr; rf_clear_rx_irq &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
<LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
<LI><a href="#[31b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_status
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_rx_payload
<LI><a href="#[309]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_get_payload_width
<LI><a href="#[2ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_clear_rx_irq
</UL>
<BR>[Called By]<UL><LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[16b]"></a>rfhelp_restart</STRONG> (Thumb, 180 bytes, Stack size 16 bytes, rfhelp.o(i.rfhelp_restart))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = rfhelp_restart &rArr; rf_set_speed &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
<LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[31a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_tx_addr
<LI><a href="#[319]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_speed
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_rx_addr
<LI><a href="#[317]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_retr_retries
<LI><a href="#[316]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_retr_delay
<LI><a href="#[315]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_power
<LI><a href="#[314]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_frequency
<LI><a href="#[313]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_crc_type
<LI><a href="#[312]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_address_width
<LI><a href="#[30f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_power_up
<LI><a href="#[30e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_power_down
<LI><a href="#[30c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_mode_rx
<LI><a href="#[305]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_flush_all
<LI><a href="#[304]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_dlp
<LI><a href="#[303]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_autoack
<LI><a href="#[302]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_pipe_address
<LI><a href="#[300]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_enable_features
<LI><a href="#[2fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_clear_irq
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_update_conf
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[324]"></a>rfhelp_send_data</STRONG> (Thumb, 148 bytes, Stack size 24 bytes, rfhelp.o(i.rfhelp_send_data))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = rfhelp_send_data &rArr; rf_mode_tx &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
<LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload_no_ack
<LI><a href="#[31f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload
<LI><a href="#[31b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_status
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_rx_addr
<LI><a href="#[30d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_mode_tx
<LI><a href="#[30c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_mode_rx
<LI><a href="#[305]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_flush_all
<LI><a href="#[2fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_clear_maxrt_irq
<LI><a href="#[2fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_clear_irq
</UL>
<BR>[Called By]<UL><LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data_crc
</UL>

<P><STRONG><a name="[2f0]"></a>rfhelp_send_data_crc</STRONG> (Thumb, 70 bytes, Stack size 24 bytes, rfhelp.o(i.rfhelp_send_data_crc))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = rfhelp_send_data_crc &rArr; rfhelp_send_data &rArr; rf_mode_tx &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
<LI><a href="#[324]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data
<LI><a href="#[239]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;malloc
<LI><a href="#[23c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;free
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;tx_thread
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_send_buffer
</UL>

<P><STRONG><a name="[2ef]"></a>rfhelp_stop</STRONG> (Thumb, 14 bytes, Stack size 8 bytes, rfhelp.o(i.rfhelp_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = rfhelp_stop &rArr; rf_stop &rArr; spi_sw_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[31c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[167]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_stop
<LI><a href="#[16a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_init
</UL>

<P><STRONG><a name="[16e]"></a>rfhelp_update_conf</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, rfhelp.o(i.rfhelp_update_conf))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = rfhelp_update_conf &rArr; rfhelp_restart &rArr; rf_set_speed &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
</UL>
<BR>[Called By]<UL><LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[1f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nrf_driver_start_pairing
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rx_thread
</UL>

<P><STRONG><a name="[325]"></a>sduConfigureHookI</STRONG> (Thumb, 74 bytes, Stack size 16 bytes, serial_usb.o(i.sduConfigureHookI))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = sduConfigureHookI &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
<LI><a href="#[268]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartReceiveI
<LI><a href="#[267]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbPrepareQueuedReceive
<LI><a href="#[1aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQResetI
<LI><a href="#[1a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQResetI
</UL>
<BR>[Called By]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_event
</UL>

<P><STRONG><a name="[b2]"></a>sduDataReceived</STRONG> (Thumb, 102 bytes, Stack size 24 bytes, serial_usb.o(i.sduDataReceived))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = sduDataReceived &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
<LI><a href="#[268]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartReceiveI
<LI><a href="#[267]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbPrepareQueuedReceive
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_usb_serial.o(.constdata)
</UL>
<P><STRONG><a name="[b1]"></a>sduDataTransmitted</STRONG> (Thumb, 140 bytes, Stack size 32 bytes, serial_usb.o(i.sduDataTransmitted))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = sduDataTransmitted &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[102]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtBroadcastFlagsI
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartTransmitI
<LI><a href="#[2f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbPrepareQueuedTransmit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_usb_serial.o(.constdata)
</UL>
<P><STRONG><a name="[24a]"></a>sduInit</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, serial_usb.o(i.sduInit))
<BR><BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[b3]"></a>sduInterruptTransmitted</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, serial_usb.o(i.sduInterruptTransmitted))
<BR>[Address Reference Count : 1]<UL><LI> comm_usb_serial.o(.constdata)
</UL>
<P><STRONG><a name="[1c6]"></a>sduObjectInit</STRONG> (Thumb, 56 bytes, Stack size 16 bytes, serial_usb.o(i.sduObjectInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = sduObjectInit &rArr; chIQObjectInit
</UL>
<BR>[Calls]<UL><LI><a href="#[327]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQObjectInit
<LI><a href="#[326]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_serial_init
</UL>

<P><STRONG><a name="[b6]"></a>sduRequestsHook</STRONG> (Thumb, 68 bytes, Stack size 0 bytes, serial_usb.o(i.sduRequestsHook))
<BR>[Address Reference Count : 1]<UL><LI> comm_usb_serial.o(.constdata)
</UL>
<P><STRONG><a name="[1c7]"></a>sduStart</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, serial_usb.o(i.sduStart))
<BR><BR>[Called By]<UL><LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_serial_init
</UL>

<P><STRONG><a name="[1f0]"></a>servodec_get_last_pulse_len</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, servo_dec.o(i.servodec_get_last_pulse_len))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[2fa]"></a>servodec_get_servo</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, servo_dec.o(i.servodec_get_servo))
<BR><BR>[Called By]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[2fb]"></a>servodec_get_time_since_update</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, servo_dec.o(i.servodec_get_time_since_update))
<BR><BR>[Called By]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[2f9]"></a>servodec_init</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, servo_dec.o(i.servodec_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = servodec_init &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[261]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuStartCapture
<LI><a href="#[25f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuStart
<LI><a href="#[25c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuEnableNotifications
</UL>
<BR>[Called By]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[15d]"></a>servodec_set_pulse_options</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, servo_dec.o(i.servodec_set_pulse_options))
<BR><BR>[Called By]<UL><LI><a href="#[15c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_configure
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[163]"></a>servodec_stop</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, servo_dec.o(i.servodec_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = servodec_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[263]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuStop
</UL>
<BR>[Called By]<UL><LI><a href="#[161]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_ppm_stop
</UL>

<P><STRONG><a name="[247]"></a>spiInit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, spi.o(i.spiInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = spiInit &rArr; spi_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[329]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_lld_init
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[32a]"></a>spiObjectInit</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, spi.o(i.spiObjectInit))
<BR><BR>[Calls]<UL><LI><a href="#[126]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[329]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_lld_init
</UL>

<P><STRONG><a name="[329]"></a>spi_lld_init</STRONG> (Thumb, 40 bytes, Stack size 8 bytes, spi_lld.o(i.spi_lld_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = spi_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[32a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spiObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[247]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spiInit
</UL>

<P><STRONG><a name="[306]"></a>spi_sw_begin</STRONG> (Thumb, 34 bytes, Stack size 4 bytes, spi_sw.o(i.spi_sw_begin))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = spi_sw_begin
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload_no_ack
<LI><a href="#[31f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload
<LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[31e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg
<LI><a href="#[31b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_status
<LI><a href="#[31a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_tx_addr
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_rx_addr
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_rx_payload
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg
<LI><a href="#[309]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_get_payload_width
<LI><a href="#[305]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_flush_all
</UL>

<P><STRONG><a name="[26b]"></a>spi_sw_change_pins</STRONG> (Thumb, 70 bytes, Stack size 56 bytes, spi_sw.o(i.spi_sw_change_pins))
<BR><BR>[Stack]<UL><LI>Max Depth = 108<LI>Call Chain = spi_sw_change_pins &rArr; spi_sw_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[31d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_stop
<LI><a href="#[30b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_init
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[308]"></a>spi_sw_end</STRONG> (Thumb, 34 bytes, Stack size 4 bytes, spi_sw.o(i.spi_sw_end))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = spi_sw_end
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload_no_ack
<LI><a href="#[31f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload
<LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[31e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg
<LI><a href="#[31b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_status
<LI><a href="#[31a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_tx_addr
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_rx_addr
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_rx_payload
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg
<LI><a href="#[309]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_get_payload_width
<LI><a href="#[305]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_flush_all
</UL>

<P><STRONG><a name="[30b]"></a>spi_sw_init</STRONG> (Thumb, 96 bytes, Stack size 16 bytes, spi_sw.o(i.spi_sw_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = spi_sw_init &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
</UL>
<BR>[Called By]<UL><LI><a href="#[26b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_change_pins
<LI><a href="#[30a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_init
</UL>

<P><STRONG><a name="[31d]"></a>spi_sw_stop</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, spi_sw.o(i.spi_sw_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = spi_sw_stop &rArr; _pal_lld_setgroupmode
</UL>
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
</UL>
<BR>[Called By]<UL><LI><a href="#[26b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_change_pins
<LI><a href="#[31c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_stop
</UL>

<P><STRONG><a name="[307]"></a>spi_sw_transfer</STRONG> (Thumb, 246 bytes, Stack size 56 bytes, spi_sw.o(i.spi_sw_transfer))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[237]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_middle_of_3_int
</UL>
<BR>[Called By]<UL><LI><a href="#[320]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload_no_ack
<LI><a href="#[31f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_tx_payload
<LI><a href="#[2fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg_byte
<LI><a href="#[31e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_write_reg
<LI><a href="#[31b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_status
<LI><a href="#[31a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_tx_addr
<LI><a href="#[318]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_set_rx_addr
<LI><a href="#[311]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_rx_payload
<LI><a href="#[301]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg_byte
<LI><a href="#[310]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_read_reg
<LI><a href="#[309]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_get_payload_width
<LI><a href="#[305]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rf_flush_all
</UL>

<P><STRONG><a name="[10f]"></a>sqrtf</STRONG> (Thumb, 62 bytes, Stack size 16 bytes, sqrtf.o(i.sqrtf))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = sqrtf
</UL>
<BR>[Calls]<UL><LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__set_errno
</UL>
<BR>[Called By]<UL><LI><a href="#[10e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_asinf
</UL>

<P><STRONG><a name="[24c]"></a>stInit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, st.o(i.stInit))
<BR><BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[32b]"></a>st_lld_init</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, st_lld.o(i.st_lld_init), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[32c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicSetSystemHandlerPriority
</UL>

<P><STRONG><a name="[10d]"></a>stm32_clock_init</STRONG> (Thumb, 194 bytes, Stack size 0 bytes, hal_lld.o(i.stm32_clock_init))
<BR><BR>[Called By]<UL><LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__early_init
</UL>

<P><STRONG><a name="[27d]"></a>terminal_add_fault_data</STRONG> (Thumb, 112 bytes, Stack size 0 bytes, terminal.o(i.terminal_add_fault_data))
<BR><BR>[Called By]<UL><LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
</UL>

<P><STRONG><a name="[1e9]"></a>terminal_process_string</STRONG> (Thumb, 7940 bytes, Stack size 376 bytes, terminal.o(i.terminal_process_string))
<BR><BR>[Stack]<UL><LI>Max Depth = 824<LI>Call Chain = terminal_process_string &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_configure
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_fault
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[1ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_is_configured
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[1ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_res_ind
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
<LI><a href="#[1de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_release_motor
<LI><a href="#[1db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tachometer_value
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_get_status_msg_index
<LI><a href="#[28b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional
<LI><a href="#[330]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_last_sample_adc_isr_duration
<LI><a href="#[280]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_last_inj_adc_isr_duration
<LI><a href="#[333]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_to_string
<LI><a href="#[222]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_faults_to_string
<LI><a href="#[1ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chRegNextThread
<LI><a href="#[332]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chRegFirstThread
<LI><a href="#[1a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chHeapStatus
<LI><a href="#[331]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chCoreGetStatusX
<LI><a href="#[2c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_f2d
<LI><a href="#[2e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_openloop
<LI><a href="#[2e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_print_state
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
<LI><a href="#[335]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_vq
<LI><a href="#[334]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_rpm_dep
<LI><a href="#[32f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_last_adc_isr_duration
<LI><a href="#[2e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_kv_filtered
<LI><a href="#[32d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strtok
<LI><a href="#[32e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
</UL>
<BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>

<P><STRONG><a name="[156]"></a>terminal_register_command_callback</STRONG> (Thumb, 94 bytes, Stack size 40 bytes, terminal.o(i.terminal_register_command_callback))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = terminal_register_command_callback &rArr; strcmp
</UL>
<BR>[Calls]<UL><LI><a href="#[32e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcmp
</UL>
<BR>[Called By]<UL><LI><a href="#[155]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_configure
<LI><a href="#[224]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_init
</UL>

<P><STRONG><a name="[1e5]"></a>timeout_configure</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, timeout.o(i.timeout_configure))
<BR><BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
</UL>

<P><STRONG><a name="[145]"></a>timeout_get_brake_current</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, timeout.o(i.timeout_get_brake_current))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[203]"></a>timeout_get_timeout_msec</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, timeout.o(i.timeout_get_timeout_msec))
<BR><BR>[Called By]<UL><LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
</UL>

<P><STRONG><a name="[1bf]"></a>timeout_has_timeout</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, timeout.o(i.timeout_has_timeout))
<BR><BR>[Called By]<UL><LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[26c]"></a>timeout_init</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, timeout.o(i.timeout_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = timeout_init &rArr; chThdCreateStatic &rArr; chSchWakeupS
</UL>
<BR>[Calls]<UL><LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
</UL>
<BR>[Called By]<UL><LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>

<P><STRONG><a name="[149]"></a>timeout_reset</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, timeout.o(i.timeout_reset))
<BR><BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;cancom_process_thread
<LI><a href="#[1e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_process_string
<LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[1eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_measure_flux_linkage
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[15b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_update_output
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[2e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_inductance
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_func
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chuk_thread
</UL>

<P><STRONG><a name="[248]"></a>uartInit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, uart.o(i.uartInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = uartInit &rArr; uart_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[338]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_init
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[33c]"></a>uartObjectInit</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, uart.o(i.uartObjectInit))
<BR><BR>[Called By]<UL><LI><a href="#[338]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_init
</UL>

<P><STRONG><a name="[16f]"></a>uartStart</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, uart.o(i.uartStart))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = uartStart &rArr; uart_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[339]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_start
</UL>
<BR>[Called By]<UL><LI><a href="#[169]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_start
<LI><a href="#[16d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_configure
</UL>

<P><STRONG><a name="[328]"></a>uartStartSend</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, uart.o(i.uartStartSend))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = uartStartSend
</UL>
<BR>[Calls]<UL><LI><a href="#[33a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_start_send
</UL>
<BR>[Called By]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;send_packet
</UL>

<P><STRONG><a name="[171]"></a>uartStop</STRONG> (Thumb, 32 bytes, Stack size 8 bytes, uart.o(i.uartStop))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = uartStop &rArr; uart_lld_stop &rArr; dmaStreamRelease
</UL>
<BR>[Calls]<UL><LI><a href="#[33b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_jump_to_bootloader
<LI><a href="#[166]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_uartcomm_stop
</UL>

<P><STRONG><a name="[338]"></a>uart_lld_init</STRONG> (Thumb, 48 bytes, Stack size 8 bytes, uart_lld.o(i.uart_lld_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = uart_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[33c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[248]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartInit
</UL>

<P><STRONG><a name="[339]"></a>uart_lld_start</STRONG> (Thumb, 264 bytes, Stack size 16 bytes, uart_lld.o(i.uart_lld_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = uart_lld_start &rArr; dmaStreamAllocate
</UL>
<BR>[Calls]<UL><LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[220]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamAllocate
<LI><a href="#[33e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart_stop
<LI><a href="#[33d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_rx_idle_loop
</UL>
<BR>[Called By]<UL><LI><a href="#[16f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStart
</UL>

<P><STRONG><a name="[33a]"></a>uart_lld_start_send</STRONG> (Thumb, 62 bytes, Stack size 0 bytes, uart_lld.o(i.uart_lld_start_send))
<BR><BR>[Called By]<UL><LI><a href="#[328]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStartSend
</UL>

<P><STRONG><a name="[33b]"></a>uart_lld_stop</STRONG> (Thumb, 78 bytes, Stack size 8 bytes, uart_lld.o(i.uart_lld_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = uart_lld_stop &rArr; dmaStreamRelease
</UL>
<BR>[Calls]<UL><LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
<LI><a href="#[221]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;dmaStreamRelease
<LI><a href="#[33e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usart_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[171]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStop
</UL>

<P><STRONG><a name="[249]"></a>usbInit</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, usb.o(i.usbInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = usbInit &rArr; usb_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[340]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_init
</UL>
<BR>[Called By]<UL><LI><a href="#[243]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;halInit
</UL>

<P><STRONG><a name="[341]"></a>usbInitEndpointI</STRONG> (Thumb, 72 bytes, Stack size 0 bytes, usb.o(i.usbInitEndpointI))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = usbInitEndpointI &rArr; usb_lld_init_endpoint
</UL>
<BR>[Calls]<UL><LI><a href="#[342]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_init_endpoint
</UL>
<BR>[Called By]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_event
</UL>

<P><STRONG><a name="[346]"></a>usbObjectInit</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, usb.o(i.usbObjectInit))
<BR><BR>[Called By]<UL><LI><a href="#[340]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_init
</UL>

<P><STRONG><a name="[267]"></a>usbPrepareQueuedReceive</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, usb.o(i.usbPrepareQueuedReceive))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = usbPrepareQueuedReceive
</UL>
<BR>[Calls]<UL><LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_prepare_receive
</UL>
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduDataReceived
<LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduConfigureHookI
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;inotify
</UL>

<P><STRONG><a name="[2f2]"></a>usbPrepareQueuedTransmit</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, usb.o(i.usbPrepareQueuedTransmit))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = usbPrepareQueuedTransmit &rArr; usb_lld_prepare_transmit
</UL>
<BR>[Calls]<UL><LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_prepare_transmit
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduDataTransmitted
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;onotify
</UL>

<P><STRONG><a name="[1c8]"></a>usbStart</STRONG> (Thumb, 44 bytes, Stack size 16 bytes, usb.o(i.usbStart))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = usbStart &rArr; usb_lld_start &rArr; otg_disable_ep
</UL>
<BR>[Calls]<UL><LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start
</UL>
<BR>[Called By]<UL><LI><a href="#[1c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_usb_serial_init
</UL>

<P><STRONG><a name="[268]"></a>usbStartReceiveI</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, usb.o(i.usbStartReceiveI))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = usbStartReceiveI
</UL>
<BR>[Calls]<UL><LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start_out
</UL>
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduDataReceived
<LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduConfigureHookI
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;inotify
</UL>

<P><STRONG><a name="[132]"></a>usbStartTransmitI</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, usb.o(i.usbStartTransmitI))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = usbStartTransmitI
</UL>
<BR>[Calls]<UL><LI><a href="#[344]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start_in
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduDataTransmitted
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;onotify
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0out
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0in
</UL>

<P><STRONG><a name="[23d]"></a>usbStop</STRONG> (Thumb, 26 bytes, Stack size 8 bytes, usb.o(i.usbStop))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = usbStop &rArr; usb_lld_stop &rArr; otg_disable_ep
</UL>
<BR>[Calls]<UL><LI><a href="#[345]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stop
</UL>
<BR>[Called By]<UL><LI><a href="#[1cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_jump_to_bootloader
</UL>

<P><STRONG><a name="[21e]"></a>usb_lld_clear_in</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_clear_in))
<BR><BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>

<P><STRONG><a name="[21f]"></a>usb_lld_clear_out</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_clear_out))
<BR><BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>

<P><STRONG><a name="[21c]"></a>usb_lld_get_status_in</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_get_status_in))
<BR><BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>

<P><STRONG><a name="[21d]"></a>usb_lld_get_status_out</STRONG> (Thumb, 34 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_get_status_out))
<BR><BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>

<P><STRONG><a name="[340]"></a>usb_lld_init</STRONG> (Thumb, 28 bytes, Stack size 8 bytes, usb_lld.o(i.usb_lld_init))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = usb_lld_init
</UL>
<BR>[Calls]<UL><LI><a href="#[346]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbObjectInit
</UL>
<BR>[Called By]<UL><LI><a href="#[249]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbInit
</UL>

<P><STRONG><a name="[342]"></a>usb_lld_init_endpoint</STRONG> (Thumb, 294 bytes, Stack size 32 bytes, usb_lld.o(i.usb_lld_init_endpoint))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = usb_lld_init_endpoint
</UL>
<BR>[Calls]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysPolledDelayX
</UL>
<BR>[Called By]<UL><LI><a href="#[341]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbInitEndpointI
</UL>

<P><STRONG><a name="[130]"></a>usb_lld_prepare_receive</STRONG> (Thumb, 78 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_prepare_receive))
<BR><BR>[Called By]<UL><LI><a href="#[267]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbPrepareQueuedReceive
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0in
</UL>

<P><STRONG><a name="[131]"></a>usb_lld_prepare_transmit</STRONG> (Thumb, 84 bytes, Stack size 4 bytes, usb_lld.o(i.usb_lld_prepare_transmit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = usb_lld_prepare_transmit
</UL>
<BR>[Called By]<UL><LI><a href="#[2f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbPrepareQueuedTransmit
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0out
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0in
</UL>

<P><STRONG><a name="[b0]"></a>usb_lld_pump</STRONG> (Thumb, 796 bytes, Stack size 16 bytes, usb_lld.o(i.usb_lld_pump))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = usb_lld_pump &rArr; chThdDequeueAllI
</UL>
<BR>[Calls]<UL><LI><a href="#[101]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdDequeueAllI
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchRescheduleS
<LI><a href="#[1b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSuspendS
</UL>
<BR>[Address Reference Count : 1]<UL><LI> usb_lld.o(i.usb_lld_start)
</UL>
<P><STRONG><a name="[136]"></a>usb_lld_read_setup</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_read_setup))
<BR><BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
</UL>

<P><STRONG><a name="[138]"></a>usb_lld_reset</STRONG> (Thumb, 182 bytes, Stack size 16 bytes, usb_lld.o(i.usb_lld_reset))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = usb_lld_reset
</UL>
<BR>[Calls]<UL><LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysPolledDelayX
</UL>
<BR>[Called By]<UL><LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_reset
</UL>

<P><STRONG><a name="[21b]"></a>usb_lld_set_address</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_set_address))
<BR><BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>

<P><STRONG><a name="[134]"></a>usb_lld_stall_in</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_stall_in))
<BR><BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0out
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0in
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>

<P><STRONG><a name="[135]"></a>usb_lld_stall_out</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_stall_out))
<BR><BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0out
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0in
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;default_handler
</UL>

<P><STRONG><a name="[343]"></a>usb_lld_start</STRONG> (Thumb, 194 bytes, Stack size 24 bytes, usb_lld.o(i.usb_lld_start))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = usb_lld_start &rArr; otg_disable_ep
</UL>
<BR>[Calls]<UL><LI><a href="#[185]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicEnableVector
<LI><a href="#[17f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchRescheduleS
<LI><a href="#[1b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateI
<LI><a href="#[19f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSchReadyI
<LI><a href="#[347]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysPolledDelayX
<LI><a href="#[348]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;otg_disable_ep
</UL>
<BR>[Called By]<UL><LI><a href="#[1c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStart
</UL>

<P><STRONG><a name="[344]"></a>usb_lld_start_in</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_start_in))
<BR><BR>[Called By]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartTransmitI
</UL>

<P><STRONG><a name="[133]"></a>usb_lld_start_out</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, usb_lld.o(i.usb_lld_start_out))
<BR><BR>[Called By]<UL><LI><a href="#[268]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartReceiveI
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0in
</UL>

<P><STRONG><a name="[345]"></a>usb_lld_stop</STRONG> (Thumb, 58 bytes, Stack size 16 bytes, usb_lld.o(i.usb_lld_stop))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = usb_lld_stop &rArr; otg_disable_ep
</UL>
<BR>[Calls]<UL><LI><a href="#[187]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;nvicDisableVector
<LI><a href="#[348]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;otg_disable_ep
</UL>
<BR>[Called By]<UL><LI><a href="#[23d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStop
</UL>

<P><STRONG><a name="[2b9]"></a>utils_angle_difference</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, utils.o(i.utils_angle_difference))
<BR><BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;periodic_thread
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
</UL>

<P><STRONG><a name="[219]"></a>utils_angle_difference_rad</STRONG> (Thumb, 56 bytes, Stack size 0 bytes, utils.o(i.utils_angle_difference_rad))
<BR><BR>[Called By]<UL><LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[217]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;correct_hall
</UL>

<P><STRONG><a name="[336]"></a>utils_byte_to_binary</STRONG> (Thumb, 36 bytes, Stack size 16 bytes, utils.o(i.utils_byte_to_binary))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = utils_byte_to_binary
</UL>
<BR>[Calls]<UL><LI><a href="#[223]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;strcat
</UL>
<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_write_reg
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_set_oc_adj
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;terminal_read_reg
</UL>

<P><STRONG><a name="[13e]"></a>utils_deadband</STRONG> (Thumb, 86 bytes, Stack size 0 bytes, utils.o(i.utils_deadband))
<BR><BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[2f1]"></a>utils_fast_atan2</STRONG> (Thumb, 112 bytes, Stack size 0 bytes, utils.o(i.utils_fast_atan2))
<BR><BR>[Called By]<UL><LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;observer_update
</UL>

<P><STRONG><a name="[213]"></a>utils_fast_sincos_better</STRONG> (Thumb, 262 bytes, Stack size 0 bytes, utils.o(i.utils_fast_sincos_better))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;control_current
</UL>

<P><STRONG><a name="[13c]"></a>utils_map</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, utils.o(i.utils_map))
<BR><BR>[Called By]<UL><LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rpm_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[2bf]"></a>utils_max_abs</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, utils.o(i.utils_max_abs))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[266]"></a>utils_middle_of_3</STRONG> (Thumb, 88 bytes, Stack size 0 bytes, utils.o(i.utils_middle_of_3))
<BR><BR>[Called By]<UL><LI><a href="#[0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;icuwidthcb
</UL>

<P><STRONG><a name="[237]"></a>utils_middle_of_3_int</STRONG> (Thumb, 42 bytes, Stack size 0 bytes, utils.o(i.utils_middle_of_3_int))
<BR><BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_tim_isr
<LI><a href="#[218]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;read_hall
<LI><a href="#[228]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_exchange
<LI><a href="#[307]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;spi_sw_transfer
</UL>

<P><STRONG><a name="[33f]"></a>utils_min_abs</STRONG> (Thumb, 24 bytes, Stack size 0 bytes, utils.o(i.utils_min_abs))
<BR><BR>[Called By]<UL><LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
</UL>

<P><STRONG><a name="[285]"></a>utils_norm_angle</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, utils.o(i.utils_norm_angle))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_fmodf
</UL>
<BR>[Called By]<UL><LI><a href="#[2e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_detect_pos
<LI><a href="#[2c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_phase_observer
<LI><a href="#[2c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_phase_encoder
<LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_pid_pos_now
<LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_pos
<LI><a href="#[29c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_phase
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[21a]"></a>utils_norm_angle_rad</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, utils.o(i.utils_norm_angle_rad))
<BR><BR>[Called By]<UL><LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[217]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;correct_hall
</UL>

<P><STRONG><a name="[214]"></a>utils_saturate_vector_2d</STRONG> (Thumb, 82 bytes, Stack size 0 bytes, utils.o(i.utils_saturate_vector_2d))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;control_current
</UL>

<P><STRONG><a name="[140]"></a>utils_step_towards</STRONG> (Thumb, 60 bytes, Stack size 0 bytes, utils.o(i.utils_step_towards))
<BR><BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[1fe]"></a>utils_sys_lock_cnt</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, utils.o(i.utils_sys_lock_cnt))
<BR><BR>[Called By]<UL><LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_configuration
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_timer_attempt
<LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_switching_frequency
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_timer_settings
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hw
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rpm_thread
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[1ff]"></a>utils_sys_unlock_cnt</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, utils.o(i.utils_sys_unlock_cnt))
<BR><BR>[Called By]<UL><LI><a href="#[1cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_write_new_app_data
<LI><a href="#[1ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_erase_new_app
<LI><a href="#[1df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_mc_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_configuration
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_timer_attempt
<LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_switching_frequency
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_timer_settings
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hw
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rpm_thread
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[13f]"></a>utils_throttle_curve</STRONG> (Thumb, 274 bytes, Stack size 24 bytes, utils.o(i.utils_throttle_curve))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = utils_throttle_curve &rArr; __hardfp_powf
</UL>
<BR>[Calls]<UL><LI><a href="#[120]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_powf
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_expf
</UL>
<BR>[Called By]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ppm_thread
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;output_thread
</UL>

<P><STRONG><a name="[13d]"></a>utils_truncate_number</STRONG> (Thumb, 44 bytes, Stack size 0 bytes, utils.o(i.utils_truncate_number))
<BR><BR>[Called By]<UL><LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[2a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_current
<LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_brake_current
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;adc_thread
<LI><a href="#[2e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_openloop
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;control_current
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hw
<LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rpm_thread
</UL>

<P><STRONG><a name="[215]"></a>utils_truncate_number_abs</STRONG> (Thumb, 40 bytes, Stack size 0 bytes, utils.o(i.utils_truncate_number_abs))
<BR><BR>[Called By]<UL><LI><a href="#[2bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;observer_update
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;control_current
</UL>

<P><STRONG><a name="[2c1]"></a>utils_truncate_number_int</STRONG> (Thumb, 28 bytes, Stack size 0 bytes, utils.o(i.utils_truncate_number_int))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[9c]"></a>periodic_thread</STRONG> (Thumb, 260 bytes, Stack size 16 bytes, main.o(i.periodic_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 84<LI>Call Chain = periodic_thread &rArr; mcpwm_get_detect_pos &rArr; utils_norm_angle &rArr; __hardfp_fmodf &rArr; _frem &rArr; _float_epilogue
</UL>
<BR>[Calls]<UL><LI><a href="#[2b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_angle_difference
<LI><a href="#[2e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_detect_pos
<LI><a href="#[2c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_phase_observer
<LI><a href="#[2c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_phase_encoder
<LI><a href="#[286]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_state
<LI><a href="#[2f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_pid_pos_set
<LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_pid_pos_now
<LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_fault
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[26d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ledpwm_set_intensity
<LI><a href="#[283]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_read_deg
<LI><a href="#[1f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_rotor_pos
<LI><a href="#[2f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_get_disp_pos_mode
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
</UL>
<P><STRONG><a name="[9d]"></a>timer_thread</STRONG> (Thumb, 20 bytes, Stack size 0 bytes, main.o(i.timer_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = timer_thread &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[337]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_timerfunc
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
</UL>
<BR>[Address Reference Count : 1]<UL><LI> main.o(i.main)
</UL>
<P><STRONG><a name="[8f]"></a>cancom_process_thread</STRONG> (Thumb, 770 bytes, Stack size 32 bytes, comm_can.o(i.cancom_process_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 1160<LI>Call Chain = cancom_process_thread &rArr; commands_process_packet &rArr; terminal_process_string &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[194]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_int32
<LI><a href="#[195]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_int16
<LI><a href="#[18a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_float32
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
<LI><a href="#[18c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_pos
<LI><a href="#[193]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake_rel
<LI><a href="#[192]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_handbrake
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[151]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current_rel
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current_rel
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
<LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
<LI><a href="#[18f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_set_send_func
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_packet
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAny
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_get_configuration
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_can.o(i.comm_can_init)
</UL>
<P><STRONG><a name="[8d]"></a>cancom_read_thread</STRONG> (Thumb, 158 bytes, Stack size 72 bytes, comm_can.o(i.cancom_read_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = cancom_read_thread &rArr; canReceive &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[197]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAnyTimeout
<LI><a href="#[199]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtUnregister
<LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignal
<LI><a href="#[196]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtRegisterMaskWithFlags
<LI><a href="#[177]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;canReceive
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_can.o(i.comm_can_init)
</UL>
<P><STRONG><a name="[8e]"></a>cancom_status_thread</STRONG> (Thumb, 148 bytes, Stack size 24 bytes, comm_can.o(i.cancom_status_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = cancom_status_thread &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int32
<LI><a href="#[19c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int16
<LI><a href="#[19d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_pid_pos_now
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[19b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_get_configuration
<LI><a href="#[19e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_transmit_eid
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_can.o(i.comm_can_init)
</UL>
<P><STRONG><a name="[89]"></a>send_packet_wrapper</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, comm_can.o(i.send_packet_wrapper))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = send_packet_wrapper &rArr; comm_can_send_buffer &rArr; comm_can_transmit_eid &rArr; canTransmit &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_send_buffer
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_can.o(i.cancom_process_thread)
</UL>
<P><STRONG><a name="[90]"></a>process_packet</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, comm_usb.o(i.process_packet))
<BR><BR>[Stack]<UL><LI>Max Depth = 1144<LI>Call Chain = process_packet &rArr; commands_process_packet &rArr; terminal_process_string &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[18f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_set_send_func
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_usb.o(i.comm_usb_init)
</UL>
<P><STRONG><a name="[91]"></a>send_packet</STRONG> (Thumb, 14 bytes, Stack size 0 bytes, comm_usb.o(i.send_packet))
<BR>[Address Reference Count : 1]<UL><LI> comm_usb.o(i.comm_usb_init)
</UL>
<P><STRONG><a name="[a8]"></a>send_packet_wrapper</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, comm_usb.o(i.send_packet_wrapper))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = send_packet_wrapper &rArr; packet_send_packet &rArr; crc16
</UL>
<BR>[Calls]<UL><LI><a href="#[2f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_send_packet
<LI><a href="#[1a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxUnlock
<LI><a href="#[1a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chMtxLock
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_usb.o(i.process_packet)
</UL>
<P><STRONG><a name="[93]"></a>serial_process_thread</STRONG> (Thumb, 66 bytes, Stack size 0 bytes, comm_usb.o(i.serial_process_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = serial_process_thread &rArr; packet_process_byte &rArr; crc16
</UL>
<BR>[Calls]<UL><LI><a href="#[2f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_process_byte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAny
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_usb.o(i.comm_usb_init)
</UL>
<P><STRONG><a name="[92]"></a>serial_read_thread</STRONG> (Thumb, 92 bytes, Stack size 128 bytes, comm_usb.o(i.serial_read_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = serial_read_thread &rArr; chEvtSignal
</UL>
<BR>[Calls]<UL><LI><a href="#[198]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignal
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_usb.o(i.comm_usb_init)
</UL>
<P><STRONG><a name="[b5]"></a>get_descriptor</STRONG> (Thumb, 36 bytes, Stack size 0 bytes, comm_usb_serial.o(i.get_descriptor))
<BR>[Address Reference Count : 1]<UL><LI> comm_usb_serial.o(.constdata)
</UL>
<P><STRONG><a name="[b4]"></a>usb_event</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, comm_usb_serial.o(i.usb_event))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = usb_event &rArr; sduConfigureHookI &rArr; chEvtBroadcastFlagsI
</UL>
<BR>[Calls]<UL><LI><a href="#[341]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbInitEndpointI
<LI><a href="#[325]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;sduConfigureHookI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> comm_usb_serial.o(.constdata)
</UL>
<P><STRONG><a name="[94]"></a>detect_thread</STRONG> (Thumb, 176 bytes, Stack size 16 bytes, commands.o(i.detect_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 464<LI>Call Chain = detect_thread &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[19a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_int32
<LI><a href="#[202]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_detect_motor_param
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAny
</UL>
<BR>[Address Reference Count : 1]<UL><LI> commands.o(i.commands_init)
</UL>
<P><STRONG><a name="[ea]"></a>EE_EraseSectorIfNotEmpty</STRONG> (Thumb, 42 bytes, Stack size 16 bytes, eeprom.o(i.EE_EraseSectorIfNotEmpty))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = EE_EraseSectorIfNotEmpty &rArr; FLASH_EraseSector &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;flash_helper_get_sector_address
<LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_EraseSector
</UL>
<BR>[Called By]<UL><LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_WriteVariable
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_Init
</UL>

<P><STRONG><a name="[ef]"></a>EE_FindValidPage</STRONG> (Thumb, 52 bytes, Stack size 0 bytes, eeprom.o(i.EE_FindValidPage))
<BR><BR>[Called By]<UL><LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_VerifyPageFullWriteVariable
<LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_WriteVariable
<LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_ReadVariable
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_Init
</UL>

<P><STRONG><a name="[f0]"></a>EE_VerifyPageFullWriteVariable</STRONG> (Thumb, 80 bytes, Stack size 16 bytes, eeprom.o(i.EE_VerifyPageFullWriteVariable))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = EE_VerifyPageFullWriteVariable &rArr; FLASH_ProgramHalfWord &rArr; FLASH_WaitForLastOperation
</UL>
<BR>[Calls]<UL><LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;FLASH_ProgramHalfWord
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_FindValidPage
</UL>
<BR>[Called By]<UL><LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_WriteVariable
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;EE_Init
</UL>

<P><STRONG><a name="[9f]"></a>sample_send_thread</STRONG> (Thumb, 410 bytes, Stack size 72 bytes, mc_interface.o(i.sample_send_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = sample_send_thread &rArr; buffer_append_float32_auto
</UL>
<BR>[Calls]<UL><LI><a href="#[172]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_append_float32_auto
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_packet
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAny
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mc_interface.o(i.mc_interface_init)
</UL>
<P><STRONG><a name="[9e]"></a>timer_thread</STRONG> (Thumb, 72 bytes, Stack size 0 bytes, mc_interface.o(i.timer_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 264<LI>Call Chain = timer_thread &rArr; update_override_limits &rArr; mc_interface_fault_stop &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[2a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_override_limits
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mc_interface.o(i.mc_interface_init)
</UL>
<P><STRONG><a name="[2a2]"></a>update_override_limits</STRONG> (Thumb, 1402 bytes, Stack size 64 bytes, mc_interface.o(i.update_override_limits))
<BR><BR>[Stack]<UL><LI>Max Depth = 264<LI>Call Chain = update_override_limits &rArr; mc_interface_fault_stop &rArr; mcpwm_stop_pwm &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[33f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_min_abs
<LI><a href="#[279]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_get_rpm
<LI><a href="#[278]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_get_rpm
<LI><a href="#[26f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_fault_stop
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[11e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__hardfp_logf
</UL>
<BR>[Called By]<UL><LI><a href="#[1e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_configuration
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timer_thread
</UL>

<P><STRONG><a name="[1f9]"></a>commutate</STRONG> (Thumb, 208 bytes, Stack size 40 bytes, mcpwm.o(i.commutate))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = commutate &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GenerateEvent
<LI><a href="#[1fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_sensor_mode
<LI><a href="#[1fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_rpm_tacho
<LI><a href="#[200]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_adc_sample_pos
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_timer_settings
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_comm_step
</UL>
<BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_ll
</UL>

<P><STRONG><a name="[23e]"></a>full_brake_ll</STRONG> (Thumb, 132 bytes, Stack size 16 bytes, mcpwm.o(i.full_brake_ll))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[23f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectOCxM
<LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GenerateEvent
<LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxNCmd
<LI><a href="#[240]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxCmd
<LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_switching_frequency
</UL>
<BR>[Called By]<UL><LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_brake_current
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_ll
<LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
</UL>

<P><STRONG><a name="[a4]"></a>rpm_thread</STRONG> (Thumb, 808 bytes, Stack size 96 bytes, mcpwm.o(i.rpm_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 232<LI>Call Chain = rpm_thread &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mcpwm.o(i.mcpwm_init)
</UL>
<P><STRONG><a name="[2ed]"></a>set_duty_cycle_hl</STRONG> (Thumb, 234 bytes, Stack size 16 bytes, mcpwm.o(i.set_duty_cycle_hl))
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_ll
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
</UL>
<BR>[Called By]<UL><LI><a href="#[2ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_pid_pos
<LI><a href="#[2a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_duty
<LI><a href="#[2a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_current
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rpm_thread
</UL>

<P><STRONG><a name="[2b3]"></a>set_duty_cycle_hw</STRONG> (Thumb, 282 bytes, Stack size 48 bytes, mcpwm.o(i.set_duty_cycle_hw))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = set_duty_cycle_hw &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[200]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_adc_sample_pos
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_timer_settings
</UL>
<BR>[Called By]<UL><LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_ll
</UL>

<P><STRONG><a name="[2b8]"></a>set_duty_cycle_ll</STRONG> (Thumb, 426 bytes, Stack size 8 bytes, mcpwm.o(i.set_duty_cycle_ll))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[1fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_comm_step
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hw
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>
<BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
</UL>

<P><STRONG><a name="[1fc]"></a>set_next_comm_step</STRONG> (Thumb, 954 bytes, Stack size 40 bytes, mcpwm.o(i.set_next_comm_step))
<BR><BR>[Stack]<UL><LI>Max Depth = 44<LI>Call Chain = set_next_comm_step &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[23f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectOCxM
<LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxNCmd
<LI><a href="#[240]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_ll
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[201]"></a>set_next_timer_settings</STRONG> (Thumb, 54 bytes, Stack size 8 bytes, mcpwm.o(i.set_next_timer_settings))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = set_next_timer_settings &rArr; update_timer_attempt
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[2b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_timer_attempt
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_switching_frequency
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hw
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[242]"></a>set_switching_frequency</STRONG> (Thumb, 86 bytes, Stack size 40 bytes, mcpwm.o(i.set_switching_frequency))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
<LI><a href="#[200]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;update_adc_sample_pos
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_timer_settings
</UL>
<BR>[Called By]<UL><LI><a href="#[1dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_detect
<LI><a href="#[2b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;stop_pwm_hw
<LI><a href="#[23e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;full_brake_ll
</UL>

<P><STRONG><a name="[2b2]"></a>stop_pwm_hw</STRONG> (Thumb, 120 bytes, Stack size 8 bytes, mcpwm.o(i.stop_pwm_hw))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[23f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectOCxM
<LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GenerateEvent
<LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxNCmd
<LI><a href="#[240]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxCmd
<LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_switching_frequency
</UL>
<BR>[Called By]<UL><LI><a href="#[1dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_detect
<LI><a href="#[27f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_stop_pwm
<LI><a href="#[2a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_current
<LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_configuration
<LI><a href="#[2a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_brake_current
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[26e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_inj_int_handler
<LI><a href="#[2b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_ll
<LI><a href="#[2ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hl
</UL>

<P><STRONG><a name="[a3]"></a>timer_thread</STRONG> (Thumb, 486 bytes, Stack size 56 bytes, mcpwm.o(i.timer_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = timer_thread &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[2b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_run_fir_iteration
<LI><a href="#[2b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;filter_add_sample
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mcpwm.o(i.mcpwm_init)
</UL>
<P><STRONG><a name="[200]"></a>update_adc_sample_pos</STRONG> (Thumb, 434 bytes, Stack size 56 bytes, mcpwm.o(i.update_adc_sample_pos))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = update_adc_sample_pos
</UL>
<BR>[Called By]<UL><LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[242]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_switching_frequency
<LI><a href="#[2b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_duty_cycle_hw
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[1fa]"></a>update_rpm_tacho</STRONG> (Thumb, 112 bytes, Stack size 4 bytes, mcpwm.o(i.update_rpm_tacho))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = update_rpm_tacho
</UL>
<BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[1fb]"></a>update_sensor_mode</STRONG> (Thumb, 58 bytes, Stack size 0 bytes, mcpwm.o(i.update_sensor_mode))
<BR><BR>[Called By]<UL><LI><a href="#[2a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_set_configuration
<LI><a href="#[291]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_init
<LI><a href="#[1f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commutate
</UL>

<P><STRONG><a name="[2b6]"></a>update_timer_attempt</STRONG> (Thumb, 130 bytes, Stack size 8 bytes, mcpwm.o(i.update_timer_attempt))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = update_timer_attempt
</UL>
<BR>[Calls]<UL><LI><a href="#[1ff]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_unlock_cnt
<LI><a href="#[1fe]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_sys_lock_cnt
</UL>
<BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_adc_int_handler
<LI><a href="#[201]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_next_timer_settings
</UL>

<P><STRONG><a name="[212]"></a>control_current</STRONG> (Thumb, 1446 bytes, Stack size 48 bytes, mcpwm_foc.o(i.control_current))
<BR><BR>[Stack]<UL><LI>Max Depth = 60<LI>Call Chain = control_current &rArr; start_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[1d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_temp_motor_filtered
<LI><a href="#[215]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number_abs
<LI><a href="#[214]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_saturate_vector_2d
<LI><a href="#[213]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_fast_sincos_better
<LI><a href="#[216]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;start_pwm_hw
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[2be]"></a>correct_encoder</STRONG> (Thumb, 84 bytes, Stack size 0 bytes, mcpwm_foc.o(i.correct_encoder))
<BR><BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[217]"></a>correct_hall</STRONG> (Thumb, 428 bytes, Stack size 24 bytes, mcpwm_foc.o(i.correct_hall))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = correct_hall &rArr; read_hall
</UL>
<BR>[Calls]<UL><LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle_rad
<LI><a href="#[219]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_angle_difference_rad
<LI><a href="#[218]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;read_hall
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[218]"></a>read_hall</STRONG> (Thumb, 102 bytes, Stack size 32 bytes, mcpwm_foc.o(i.read_hall))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = read_hall
</UL>
<BR>[Calls]<UL><LI><a href="#[237]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_middle_of_3_int
</UL>
<BR>[Called By]<UL><LI><a href="#[217]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;correct_hall
</UL>

<P><STRONG><a name="[216]"></a>start_pwm_hw</STRONG> (Thumb, 102 bytes, Stack size 8 bytes, mcpwm_foc.o(i.start_pwm_hw))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = start_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[23f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectOCxM
<LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxNCmd
<LI><a href="#[240]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
<LI><a href="#[212]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;control_current
</UL>

<P><STRONG><a name="[2bb]"></a>stop_pwm_hw</STRONG> (Thumb, 110 bytes, Stack size 8 bytes, mcpwm_foc.o(i.stop_pwm_hw))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = stop_pwm_hw &rArr; TIM_SelectOCxM
</UL>
<BR>[Calls]<UL><LI><a href="#[23f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_SelectOCxM
<LI><a href="#[1fd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_GenerateEvent
<LI><a href="#[241]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxNCmd
<LI><a href="#[240]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_CCxCmd
</UL>
<BR>[Called By]<UL><LI><a href="#[1ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_hall_detect
<LI><a href="#[1ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_encoder_detect
<LI><a href="#[27e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_stop_pwm
<LI><a href="#[2aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_handbrake
<LI><a href="#[2a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_current
<LI><a href="#[2a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_configuration
<LI><a href="#[29f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_brake_current
<LI><a href="#[290]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_init
<LI><a href="#[2e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_set_openloop
<LI><a href="#[2e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_measure_resistance
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mcpwm_foc_adc_int_handler
</UL>

<P><STRONG><a name="[a1]"></a>timer_thread</STRONG> (Thumb, 846 bytes, Stack size 112 bytes, mcpwm_foc.o(i.timer_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = timer_thread &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[215]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number_abs
<LI><a href="#[21a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_norm_angle_rad
</UL>
<BR>[Address Reference Count : 1]<UL><LI> mcpwm_foc.o(i.mcpwm_foc_init)
</UL>
<P><STRONG><a name="[1]"></a>icuperiodcb</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, servo_dec.o(i.icuperiodcb))
<BR>[Address Reference Count : 1]<UL><LI> servo_dec.o(.data)
</UL>
<P><STRONG><a name="[0]"></a>icuwidthcb</STRONG> (Thumb, 268 bytes, Stack size 24 bytes, servo_dec.o(i.icuwidthcb))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = icuwidthcb
</UL>
<BR>[Calls]<UL><LI><a href="#[266]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_middle_of_3
</UL>
<BR>[Address Reference Count : 1]<UL><LI> servo_dec.o(.data)
</UL>
<P><STRONG><a name="[ad]"></a>timeout_thread</STRONG> (Thumb, 84 bytes, Stack size 0 bytes, timeout.o(i.timeout_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = timeout_thread &rArr; mc_interface_set_brake_current &rArr; mcpwm_set_brake_current &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[208]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_unlock
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
</UL>
<BR>[Address Reference Count : 1]<UL><LI> timeout.o(i.timeout_init)
</UL>
<P><STRONG><a name="[80]"></a>adc_thread</STRONG> (Thumb, 2254 bytes, Stack size 88 bytes, app_adc.o(i.adc_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 256<LI>Call Chain = adc_thread &rArr; mc_interface_set_current_rel &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_fault
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_truncate_number
<LI><a href="#[14c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_duty_cycle_now
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[151]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current_rel
<LI><a href="#[14e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current_rel
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_setgroupmode
<LI><a href="#[14d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_duty
<LI><a href="#[150]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_rel
<LI><a href="#[14f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake_rel
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_get_status_msg_index
<LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional_filtered
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[13f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_throttle_curve
<LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_deadband
<LI><a href="#[140]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_step_towards
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_adc.o(i.app_adc_start)
</UL>
<P><STRONG><a name="[82]"></a>chuk_thread</STRONG> (Thumb, 500 bytes, Stack size 80 bytes, app_nunchuk.o(i.chuk_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = chuk_thread &rArr; i2cMasterTransmitTimeout &rArr; i2c_lld_master_transmit_timeout &rArr; chThdSuspendTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[153]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdCreateStatic
<LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_has_timeout
<LI><a href="#[1bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cReleaseBus
<LI><a href="#[1bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cMasterTransmitTimeout
<LI><a href="#[1be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cMasterReceiveTimeout
<LI><a href="#[1bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;i2cAcquireBus
<LI><a href="#[1c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_try_restore_i2c
<LI><a href="#[158]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;hw_start_i2c
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_nunchuk.o(i.app_nunchuk_start)
</UL>
<P><STRONG><a name="[83]"></a>output_thread</STRONG> (Thumb, 1570 bytes, Stack size 80 bytes, app_nunchuk.o(i.output_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 248<LI>Call Chain = output_thread &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_get_status_msg_index
<LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional_filtered
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[2f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_external_set_state
<LI><a href="#[2f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;led_external_set_reversed
<LI><a href="#[13f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_throttle_curve
<LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_deadband
<LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_has_timeout
<LI><a href="#[140]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_step_towards
</UL>
<BR>[Address Reference Count : 2]<UL><LI> app_nunchuk.o(i.chuk_thread)
<LI> app_nunchuk.o(i.app_nunchuk_update_output)
</UL>
<P><STRONG><a name="[81]"></a>terminal_cmd_nunchuk_status</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, app_nunchuk.o(i.terminal_cmd_nunchuk_status))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = terminal_cmd_nunchuk_status &rArr; commands_printf &rArr; vsnprintf
</UL>
<BR>[Calls]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_nunchuk.o(i.app_nunchuk_configure)
</UL>
<P><STRONG><a name="[84]"></a>ppm_thread</STRONG> (Thumb, 1306 bytes, Stack size 80 bytes, app_ppm.o(i.ppm_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 248<LI>Call Chain = ppm_thread &rArr; mc_interface_set_current &rArr; mcpwm_set_current &rArr; set_duty_cycle_hl &rArr; set_duty_cycle_ll &rArr; full_brake_ll &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_fault
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_configuration
<LI><a href="#[203]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_timeout_msec
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_get_brake_current
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_pid_speed
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_duty
<LI><a href="#[18b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_current
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_set_brake_current
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_rpm
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAny
<LI><a href="#[148]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current_brake
<LI><a href="#[14b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_set_current
<LI><a href="#[147]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;comm_can_get_status_msg_index
<LI><a href="#[14a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mc_interface_get_tot_current_directional_filtered
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_map
<LI><a href="#[13f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_throttle_curve
<LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_deadband
<LI><a href="#[1bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_has_timeout
<LI><a href="#[15d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_set_pulse_options
<LI><a href="#[2f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_init
<LI><a href="#[2fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_get_time_since_update
<LI><a href="#[2fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;servodec_get_servo
<LI><a href="#[140]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_step_towards
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_ppm.o(i.app_ppm_start)
</UL>
<P><STRONG><a name="[a7]"></a>servodec_func</STRONG> (Thumb, 30 bytes, Stack size 8 bytes, app_ppm.o(i.servodec_func))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = servodec_func
</UL>
<BR>[Calls]<UL><LI><a href="#[149]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;timeout_reset
<LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignalI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_ppm.o(i.ppm_thread)
</UL>
<P><STRONG><a name="[85]"></a>update</STRONG> (Thumb, 74 bytes, Stack size 24 bytes, app_ppm.o(i.update))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = update
</UL>
<BR>[Calls]<UL><LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignalI
<LI><a href="#[160]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chVTDoSetI
<LI><a href="#[15f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chVTDoResetI
</UL>
<BR>[Address Reference Count : 2]<UL><LI> app_ppm.o(i.app_ppm_start)
<LI> app_ppm.o(i.update)
</UL>
<P><STRONG><a name="[88]"></a>packet_process_thread</STRONG> (Thumb, 66 bytes, Stack size 0 bytes, app_uartcomm.o(i.packet_process_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = packet_process_thread &rArr; packet_process_byte &rArr; crc16
</UL>
<BR>[Calls]<UL><LI><a href="#[2f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_process_byte
<LI><a href="#[188]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtWaitAny
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(i.app_uartcomm_start)
</UL>
<P><STRONG><a name="[86]"></a>process_packet</STRONG> (Thumb, 24 bytes, Stack size 16 bytes, app_uartcomm.o(i.process_packet))
<BR><BR>[Stack]<UL><LI>Max Depth = 1144<LI>Call Chain = process_packet &rArr; commands_process_packet &rArr; terminal_process_string &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[18f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_set_send_func
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(i.app_uartcomm_start)
</UL>
<P><STRONG><a name="[5]"></a>rxchar</STRONG> (Thumb, 44 bytes, Stack size 8 bytes, app_uartcomm.o(i.rxchar))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = rxchar
</UL>
<BR>[Calls]<UL><LI><a href="#[162]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chEvtSignalI
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(.data)
</UL>
<P><STRONG><a name="[4]"></a>rxend</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, app_uartcomm.o(i.rxend))
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(.data)
</UL>
<P><STRONG><a name="[6]"></a>rxerr</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, app_uartcomm.o(i.rxerr))
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(.data)
</UL>
<P><STRONG><a name="[87]"></a>send_packet</STRONG> (Thumb, 50 bytes, Stack size 16 bytes, app_uartcomm.o(i.send_packet))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = send_packet &rArr; chThdSleep &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[328]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uartStartSend
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(i.app_uartcomm_start)
</UL>
<P><STRONG><a name="[a9]"></a>send_packet_wrapper</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, app_uartcomm.o(i.send_packet_wrapper))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = send_packet_wrapper &rArr; packet_send_packet &rArr; crc16
</UL>
<BR>[Calls]<UL><LI><a href="#[2f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;packet_send_packet
</UL>
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(i.process_packet)
</UL>
<P><STRONG><a name="[2]"></a>txend1</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, app_uartcomm.o(i.txend1))
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(.data)
</UL>
<P><STRONG><a name="[3]"></a>txend2</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, app_uartcomm.o(i.txend2))
<BR>[Address Reference Count : 1]<UL><LI> app_uartcomm.o(.data)
</UL>
<P><STRONG><a name="[228]"></a>spi_exchange</STRONG> (Thumb, 180 bytes, Stack size 56 bytes, drv8301.o(i.spi_exchange))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[237]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_middle_of_3_int
</UL>
<BR>[Called By]<UL><LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_write_reg
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
</UL>

<P><STRONG><a name="[98]"></a>terminal_print_faults</STRONG> (Thumb, 36 bytes, Stack size 8 bytes, drv8301.o(i.terminal_print_faults))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = terminal_print_faults &rArr; drv8301_read_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[222]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_faults_to_string
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
</UL>
<BR>[Address Reference Count : 1]<UL><LI> drv8301.o(i.drv8301_init)
</UL>
<P><STRONG><a name="[95]"></a>terminal_read_reg</STRONG> (Thumb, 94 bytes, Stack size 40 bytes, drv8301.o(i.terminal_read_reg))
<BR><BR>[Stack]<UL><LI>Max Depth = 304<LI>Call Chain = terminal_read_reg &rArr; __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real
</UL>
<BR>[Calls]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[336]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_byte_to_binary
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> drv8301.o(i.drv8301_init)
</UL>
<P><STRONG><a name="[99]"></a>terminal_reset_faults</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, drv8301.o(i.terminal_reset_faults))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = terminal_reset_faults &rArr; drv8301_read_reg &rArr; spi_exchange
</UL>
<BR>[Calls]<UL><LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_write_reg
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
</UL>
<BR>[Address Reference Count : 1]<UL><LI> drv8301.o(i.drv8301_init)
</UL>
<P><STRONG><a name="[97]"></a>terminal_set_oc_adj</STRONG> (Thumb, 120 bytes, Stack size 40 bytes, drv8301.o(i.terminal_set_oc_adj))
<BR><BR>[Stack]<UL><LI>Max Depth = 304<LI>Call Chain = terminal_set_oc_adj &rArr; __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real
</UL>
<BR>[Calls]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[336]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_byte_to_binary
<LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_write_reg
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> drv8301.o(i.drv8301_init)
</UL>
<P><STRONG><a name="[96]"></a>terminal_write_reg</STRONG> (Thumb, 120 bytes, Stack size 48 bytes, drv8301.o(i.terminal_write_reg))
<BR><BR>[Stack]<UL><LI>Max Depth = 312<LI>Call Chain = terminal_write_reg &rArr; __0sscanf &rArr; __vfscanf_char &rArr; __vfscanf &rArr; _scanf_real
</UL>
<BR>[Calls]<UL><LI><a href="#[1ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_printf
<LI><a href="#[336]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;utils_byte_to_binary
<LI><a href="#[225]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_write_reg
<LI><a href="#[227]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;drv8301_read_reg
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0sscanf
</UL>
<BR>[Address Reference Count : 1]<UL><LI> drv8301.o(i.drv8301_init)
</UL>
<P><STRONG><a name="[a5]"></a>rx_thread</STRONG> (Thumb, 600 bytes, Stack size 336 bytes, nrf_driver.o(i.rx_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 1464<LI>Call Chain = rx_thread &rArr; commands_process_packet &rArr; terminal_process_string &rArr; conf_general_detect_motor_param &rArr; mc_interface_set_configuration &rArr; mcpwm_init &rArr; stop_pwm_hw &rArr; set_switching_frequency &rArr; update_adc_sample_pos
</UL>
<BR>[Calls]<UL><LI><a href="#[195]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;buffer_get_int16
<LI><a href="#[16b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_restart
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[164]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_set_configuration
<LI><a href="#[1e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;conf_general_store_app_configuration
<LI><a href="#[15b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_nunchuk_update_output
<LI><a href="#[1e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_appconf
<LI><a href="#[18e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;crc16
<LI><a href="#[18f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_set_send_func
<LI><a href="#[190]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_send_packet
<LI><a href="#[191]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;commands_process_packet
<LI><a href="#[189]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;app_get_configuration
<LI><a href="#[16e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_update_conf
<LI><a href="#[323]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_read_rx_data_crc
<LI><a href="#[322]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_power_up
<LI><a href="#[165]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
<LI><a href="#[18d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Address Reference Count : 1]<UL><LI> nrf_driver.o(i.nrf_driver_init)
</UL>
<P><STRONG><a name="[a6]"></a>tx_thread</STRONG> (Thumb, 78 bytes, Stack size 24 bytes, nrf_driver.o(i.tx_thread))
<BR><BR>[Stack]<UL><LI>Max Depth = 160<LI>Call Chain = tx_thread &rArr; rfhelp_send_data_crc &rArr; rfhelp_send_data &rArr; rf_mode_tx &rArr; rf_write_reg_byte &rArr; spi_sw_transfer
</UL>
<BR>[Calls]<UL><LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdSleep
<LI><a href="#[2f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;rfhelp_send_data_crc
</UL>
<BR>[Address Reference Count : 1]<UL><LI> nrf_driver.o(i.nrf_driver_init)
</UL>
<P><STRONG><a name="[ba]"></a>get</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, serial_usb.o(i.get))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = get &rArr; chIQGetTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQGetTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[bc]"></a>gett</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, serial_usb.o(i.gett))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = gett &rArr; chIQGetTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQGetTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[ab]"></a>inotify</STRONG> (Thumb, 120 bytes, Stack size 8 bytes, serial_usb.o(i.inotify))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = inotify &rArr; usbStartReceiveI
</UL>
<BR>[Calls]<UL><LI><a href="#[268]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartReceiveI
<LI><a href="#[267]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbPrepareQueuedReceive
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(i.sduObjectInit)
</UL>
<P><STRONG><a name="[ac]"></a>onotify</STRONG> (Thumb, 92 bytes, Stack size 8 bytes, serial_usb.o(i.onotify))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = onotify &rArr; usbPrepareQueuedTransmit &rArr; usb_lld_prepare_transmit
</UL>
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbStartTransmitI
<LI><a href="#[2f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usbPrepareQueuedTransmit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(i.sduObjectInit)
</UL>
<P><STRONG><a name="[b9]"></a>put</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, serial_usb.o(i.put))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = put &rArr; chOQPutTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQPutTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[bb]"></a>putt</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, serial_usb.o(i.putt))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = putt &rArr; chOQPutTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQPutTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[b8]"></a>read</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, serial_usb.o(i.read))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = read &rArr; chIQReadTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQReadTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[be]"></a>readt</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, serial_usb.o(i.readt))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = readt &rArr; chIQReadTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chIQReadTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[b7]"></a>write</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, serial_usb.o(i.write))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = write &rArr; chOQWriteTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQWriteTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[bd]"></a>writet</STRONG> (Thumb, 6 bytes, Stack size 0 bytes, serial_usb.o(i.writet))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = writet &rArr; chOQWriteTimeout &rArr; chThdEnqueueTimeoutS &rArr; chSchGoSleepTimeoutS
</UL>
<BR>[Calls]<UL><LI><a href="#[1ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chOQWriteTimeout
</UL>
<BR>[Address Reference Count : 1]<UL><LI> serial_usb.o(.constdata)
</UL>
<P><STRONG><a name="[137]"></a>default_handler</STRONG> (Thumb, 510 bytes, Stack size 24 bytes, usb.o(i.default_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = default_handler
</UL>
<BR>[Calls]<UL><LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_out
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stall_in
<LI><a href="#[21b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_set_address
<LI><a href="#[21d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_get_status_out
<LI><a href="#[21c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_get_status_in
<LI><a href="#[21f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_clear_out
<LI><a href="#[21e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_clear_in
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_usb_ep0setup
</UL>

<P><STRONG><a name="[8a]"></a>wakeup</STRONG> (Thumb, 100 bytes, Stack size 0 bytes, chschd.o(i.wakeup))
<BR>[Address Reference Count : 1]<UL><LI> chschd.o(i.chSchGoSleepTimeoutS)
</UL>
<P><STRONG><a name="[8b]"></a>_idle_thread</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, chsys.o(i._idle_thread))
<BR><BR>[Calls]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_idle_thread
</UL>
<BR>[Called By]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_idle_thread
</UL>
<BR>[Address Reference Count : 1]<UL><LI> chsys.o(i.chSysInit)
</UL>
<P><STRONG><a name="[184]"></a>can_lld_set_filters</STRONG> (Thumb, 328 bytes, Stack size 32 bytes, can_lld.o(i.can_lld_set_filters))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = can_lld_set_filters
</UL>
<BR>[Called By]<UL><LI><a href="#[176]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;can_lld_init
</UL>

<P><STRONG><a name="[128]"></a>initgpio</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, pal_lld.o(i.initgpio))
<BR><BR>[Called By]<UL><LI><a href="#[127]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_pal_lld_init
</UL>

<P><STRONG><a name="[9a]"></a>i2c_lld_serve_rx_end_irq</STRONG> (Thumb, 102 bytes, Stack size 16 bytes, i2c_lld.o(i.i2c_lld_serve_rx_end_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = i2c_lld_serve_rx_end_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdResumeI
<LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysHalt
</UL>
<BR>[Address Reference Count : 1]<UL><LI> i2c_lld.o(i.i2c_lld_start)
</UL>
<P><STRONG><a name="[9b]"></a>i2c_lld_serve_tx_end_irq</STRONG> (Thumb, 64 bytes, Stack size 16 bytes, i2c_lld.o(i.i2c_lld_serve_tx_end_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = i2c_lld_serve_tx_end_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysHalt
</UL>
<BR>[Address Reference Count : 1]<UL><LI> i2c_lld.o(i.i2c_lld_start)
</UL>
<P><STRONG><a name="[348]"></a>otg_disable_ep</STRONG> (Thumb, 118 bytes, Stack size 12 bytes, usb_lld.o(i.otg_disable_ep))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = otg_disable_ep
</UL>
<BR>[Called By]<UL><LI><a href="#[345]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_stop
<LI><a href="#[343]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;usb_lld_start
</UL>

<P><STRONG><a name="[fc]"></a>otg_epin_handler</STRONG> (Thumb, 258 bytes, Stack size 32 bytes, usb_lld.o(i.otg_epin_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = otg_epin_handler
</UL>
<BR>[Calls]<UL><LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chThdResumeI
</UL>
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector14C
</UL>

<P><STRONG><a name="[fd]"></a>otg_epout_handler</STRONG> (Thumb, 202 bytes, Stack size 24 bytes, usb_lld.o(i.otg_epout_handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = otg_epout_handler
</UL>
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector14C
</UL>

<P><STRONG><a name="[fe]"></a>serve_usart_irq</STRONG> (Thumb, 138 bytes, Stack size 24 bytes, uart_lld.o(i.serve_usart_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = serve_usart_irq
</UL>
<BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;VectorDC
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Vector15C
</UL>

<P><STRONG><a name="[33d]"></a>set_rx_idle_loop</STRONG> (Thumb, 58 bytes, Stack size 0 bytes, uart_lld.o(i.set_rx_idle_loop))
<BR><BR>[Called By]<UL><LI><a href="#[339]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_start
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_serve_rx_end_irq
</UL>

<P><STRONG><a name="[ae]"></a>uart_lld_serve_rx_end_irq</STRONG> (Thumb, 112 bytes, Stack size 8 bytes, uart_lld.o(i.uart_lld_serve_rx_end_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = uart_lld_serve_rx_end_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysHalt
<LI><a href="#[33d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;set_rx_idle_loop
</UL>
<BR>[Address Reference Count : 1]<UL><LI> uart_lld.o(i.uart_lld_start)
</UL>
<P><STRONG><a name="[af]"></a>uart_lld_serve_tx_end_irq</STRONG> (Thumb, 80 bytes, Stack size 8 bytes, uart_lld.o(i.uart_lld_serve_tx_end_irq))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = uart_lld_serve_tx_end_irq
</UL>
<BR>[Calls]<UL><LI><a href="#[25b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;chSysHalt
</UL>
<BR>[Address Reference Count : 1]<UL><LI> uart_lld.o(i.uart_lld_start)
</UL>
<P><STRONG><a name="[33e]"></a>usart_stop</STRONG> (Thumb, 88 bytes, Stack size 0 bytes, uart_lld.o(i.usart_stop))
<BR><BR>[Called By]<UL><LI><a href="#[33b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_stop
<LI><a href="#[339]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_lld_start
</UL>

<P><STRONG><a name="[123]"></a>_fp_digits</STRONG> (Thumb, 366 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dadd
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_d2ulz
<LI><a href="#[124]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_cdrcmple
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[10c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>

<P><STRONG><a name="[10c]"></a>_printf_core</STRONG> (Thumb, 1744 bytes, Stack size 136 bytes, printfa.o(i._printf_core), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_pre_padding
<LI><a href="#[12b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_post_padding
<LI><a href="#[123]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_fp_digits
<LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
<LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uidivmod
</UL>
<BR>[Called By]<UL><LI><a href="#[10b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__0vsnprintf
</UL>

<P><STRONG><a name="[12b]"></a>_printf_post_padding</STRONG> (Thumb, 36 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[10c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>

<P><STRONG><a name="[12a]"></a>_printf_pre_padding</STRONG> (Thumb, 46 bytes, Stack size 24 bytes, printfa.o(i._printf_pre_padding), UNUSED)
<BR><BR>[Called By]<UL><LI><a href="#[10c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_printf_core
</UL>

<P><STRONG><a name="[7c]"></a>_snputc</STRONG> (Thumb, 22 bytes, Stack size 0 bytes, printfa.o(i._snputc))
<BR>[Address Reference Count : 1]<UL><LI> printfa.o(i.__0vsnprintf)
</UL>
<P><STRONG><a name="[d0]"></a>_fp_value</STRONG> (Thumb, 296 bytes, Stack size 64 bytes, scanf_fp.o(.text), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_dmul
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ddiv
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_ul2d
</UL>
<BR>[Called By]<UL><LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_scanf_really_real
</UL>

<P><STRONG><a name="[7a]"></a>_scanf_char_input</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, scanf_char.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> scanf_char.o(.text)
</UL><P>
<H3>
Undefined Global Symbols
</H3><HR></body></html>
